精华内容
下载资源
问答
  • 键盘操作

    2019-04-05 19:00:14
    文章目录【1】介绍【2】引入Keys类【3】介绍常用的按键组合键常用的非组合键【4】不常用的按键操作 【1】介绍 selenium 提供了比较完整的键盘操作,Keys()类提供了键盘上几乎所有按键的方法。 【2】引入Keys类 from ...

    【1】介绍

    selenium 提供了比较完整的键盘操作,Keys()类提供了键盘上几乎所有按键的方法。

    【2】引入Keys类

    from selenium.webdriver.common.keys import Keys
    

    【3】介绍常用的按键

    组合键

    我们经常使用的Ctrl+A,ctrl+C都是组合键
    在使用按键操作的时候我们需要借助一下send_keys()来模拟操作。
    Keys.CONTROL 也就是我们键盘上的ctrl键,下面是几个常用的组合键。
    send_keys(Keys.CONTROL,‘a’) #全选 (ctrl+A)
    send_keys(Keys.CONTROL,‘c’) #复制 (ctrl+C)
    send_keys(Keys.CONTROL,‘x’) #全选 (ctrl+X)
    send_keys(Keys.CONTROL,‘v’) #全选 (ctrl+V)

    常用的非组合键

    回车键 send_keys(Keys.ENTER)
    删除键 send_keys(Keys.BACK_SPACE)
    空格键 send_keys(Keys.SPACE)
    制表键 send_keys(Keys.TAB)
    回退键 send_keys(Keys.ESCAPE)
    刷新键 send_keys(Keys.F5)

    【4】不常用的按键操作

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 改变键盘按键操作turtlebot

    千次阅读 2018-07-15 22:55:24
    使用键盘操作turtlebot的命令如下: $ roslaunch turtlebot_teleop keyboard_teleop.launch 但是turtlebot默认的键盘操作不太习惯,还是习惯我们常用的WASD操作方式,于是就自己把键盘操作方式改了。 1 先找到...

    使用键盘操作turtlebot的命令如下:
    $ roslaunch turtlebot_teleop keyboard_teleop.launch
    但是turtlebot默认的键盘操作不太习惯,还是习惯我们常用的WASD操作方式,于是就自己把键盘操作方式改了。

    1 先找到键盘控制的文件,路径为::/opt/ros/indigo/lib/turtlebot_teleop/turtlebot_teleop_key
    2 自己复制一份,就叫turtlebot_teleop_key_qin
    3 更改后的文件如下:

    #!/usr/bin/env python
    
    # Copyright (c) 2011, Willow Garage, Inc.
    # All rights reserved.
    #
    # Redistribution and use in source and binary forms, with or without
    # modification, are permitted provided that the following conditions are met:
    #
    #    * Redistributions of source code must retain the above copyright
    #      notice, this list of conditions and the following disclaimer.
    #    * Redistributions in binary form must reproduce the above copyright
    #      notice, this list of conditions and the following disclaimer in the
    #      documentation and/or other materials provided with the distribution.
    #    * Neither the name of the Willow Garage, Inc. nor the names of its
    #      contributors may be used to endorse or promote products derived from
    #       this software without specific prior written permission.
    #
    # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    # POSSIBILITY OF SUCH DAMAGE
    
    import rospy
    
    from geometry_msgs.msg import Twist
    
    import sys, select, termios, tty
    
    msg = """
    Control Your Turtlebot!
    ---------------------------
    Moving around:
       q    w    e
       a    s    d
            z    
    
    =/- : increase/decrease only linear speed by 10%
    space key, s : force stop
    anything else : stop smoothly
    
    CTRL-C to quit
    """
    
    moveBindings = {
            'w':(1,0),
            'e':(1,-1),
            'a':(0,1),
            'd':(0,-1),
            'q':(1,1),
            'z':(-1,0),
               }
    
    speedBindings={
            '=':(1.1,1),
            '-':(.9,1),
              }
    
    def getKey():
        tty.setraw(sys.stdin.fileno())
        rlist, _, _ = select.select([sys.stdin], [], [], 0.1)
        if rlist:
            key = sys.stdin.read(1)
        else:
            key = ''
    
        termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)
        return key
    
    speed = .2
    turn = 1
    
    def vels(speed,turn):
        return "currently:\tspeed %s\tturn %s " % (speed,turn)
    
    if __name__=="__main__":
        settings = termios.tcgetattr(sys.stdin)
    
        rospy.init_node('turtlebot_teleop')
        pub = rospy.Publisher('~cmd_vel', Twist, queue_size=5)
    
        x = 0
        th = 0
        status = 0
        count = 0
        acc = 0.1
        target_speed = 0
        target_turn = 0
        control_speed = 0
        control_turn = 0
        try:
            print msg
            print vels(speed,turn)
            while(1):
                key = getKey()
                if key in moveBindings.keys():
                    x = moveBindings[key][0]
                    th = moveBindings[key][1]
                    count = 0
                elif key in speedBindings.keys():
                    speed = speed * speedBindings[key][0]
                    turn = turn * speedBindings[key][1]
                    count = 0
    
                    print vels(speed,turn)
                    if (status == 14):
                        print msg
                    status = (status + 1) % 15
                elif key == ' ' or key == 's' :
                    x = 0
                    th = 0
                    control_speed = 0
                    control_turn = 0
                else:
                    count = count + 1
                    if count > 4:
                        x = 0
                        th = 0
                    if (key == '\x03'):
                        break
    
                target_speed = speed * x
                target_turn = turn * th
    
                if target_speed > control_speed:
                    control_speed = min( target_speed, control_speed + 0.02 )
                elif target_speed < control_speed:
                    control_speed = max( target_speed, control_speed - 0.02 )
                else:
                    control_speed = target_speed
    
                if target_turn > control_turn:
                    control_turn = min( target_turn, control_turn + 0.1 )
                elif target_turn < control_turn:
                    control_turn = max( target_turn, control_turn - 0.1 )
                else:
                    control_turn = target_turn
    
                twist = Twist()
                twist.linear.x = control_speed; twist.linear.y = 0; twist.linear.z = 0
                twist.angular.x = 0; twist.angular.y = 0; twist.angular.z = control_turn
                pub.publish(twist)
    
                #print("loop: {0}".format(count))
                #print("target: vx: {0}, wz: {1}".format(target_speed, target_turn))
                #print("publihsed: vx: {0}, wz: {1}".format(twist.linear.x, twist.angular.z))
    
        except:
            print e
    
        finally:
            twist = Twist()
            twist.linear.x = 0; twist.linear.y = 0; twist.linear.z = 0
            twist.angular.x = 0; twist.angular.y = 0; twist.angular.z = 0
            pub.publish(twist)
    
        termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)
    

    4 更改keyboard_teleop.launch文件如下:

    <launch>
      <!-- turtlebot_teleop_key already has its own built in velocity smoother -->
      <node pkg="turtlebot_teleop" type="turtlebot_teleop_key_qin" name="turtlebot_teleop_keyboard"  output="screen">
        <param name="scale_linear" value="0.5" type="double"/>
        <param name="scale_angular" value="1.5" type="double"/>
        <remap from="turtlebot_teleop_keyboard/cmd_vel" to="cmd_vel_mux/input/teleop"/>
      </node>
    </launch>
    展开全文
  • selenium–模拟键盘按键操作 导入 from selenium.webdriver.common.keys import Keys 格式:Keys.XXX 一般这么用:send_keys(Keys.XXX) 分类 Keys.BACK_SPACE:回退键(BackSpace) Keys.TAB:制表键(Tab) Keys....

    selenium–模拟键盘按键操作

    导入 from selenium.webdriver.common.keys import Keys

    格式:Keys.XXX

    一般这么用:send_keys(Keys.XXX)

    分类

    Keys.BACK_SPACE:回退键(BackSpace)
    Keys.TAB:制表键(Tab)
    Keys.ENTER:回车键(Enter)
    Keys.SHIFT:大小写转换键(Shift)
    Keys.CONTROL:Control键(Ctrl)
    Keys.ALT:ALT键(Alt)
    Keys.ESCAPE:返回键(Esc)
    Keys.SPACE:空格键(Space)
    Keys.PAGE_UP:翻页键上(Page Up)
    Keys.PAGE_DOWN:翻页键下(Page Down)
    Keys.END:行尾键(End)
    Keys.HOME:行首键(Home)
    Keys.LEFT:方向键左(Left)
    Keys.UP:方向键上(Up)
    Keys.RIGHT:方向键右(Right)
    Keys.DOWN:方向键下(Down)
    Keys.INSERT:插入键(Insert)
    DELETE:删除键(Delete)
    NUMPAD0 ~ NUMPAD9:数字键1-9
    F1 ~ F12:F1 - F12键
    (Keys.CONTROL, ‘a’):组合键Control+a,全选
    (Keys.CONTROL, ‘c’):组合键Control+c,复制
    (Keys.CONTROL, ‘x’):组合键Control+x,剪切
    (Keys.CONTROL, ‘v’):组合键Control+v,粘贴

    示例代码

      # coding=UTF-8
      #18.模拟键盘单个按键操作
      import sys
      reload(sys)
      sys.setdefaultencoding('utf8')
      from selenium import webdriver
      import unittest
      import time
      from selenium.webdriver.common.keys import Keys
     
     class Case18(unittest.TestCase):
     
         def setUp(self):
             self.driver = webdriver.Chrome()
     
         def test_simulateASingleKey(self):
             url = "https://www.sogou.com"
             self.driver.get(url)
             element = self.driver.find_element_by_id("query")
             element.send_keys(Keys.F12) # 按下F12键
             time.sleep(2)
             element.send_keys(Keys.F12)
             element.send_keys("selenium")
             element.send_keys(Keys.CONTROL,'a') #c trl+a 全选输入框内容
             time.sleep(2)
             element.send_keys(Keys.CONTROL,'x') # ctrl+x 剪切输入框内容
             time.sleep(2)
             element.send_keys(Keys.CONTROL,'v') # ctrl+v 粘贴内容到输入框
             time.sleep(2)
             element.send_keys(Keys.ENTER) # 回车
             time.sleep(2)
     
         def tearDown(self):
             self.driver.quit()
     
     if __name__ == '__main__':
         unittest.main()
    
    展开全文
  • pyautogui自动化控制鼠标和键盘操作

    万次阅读 多人点赞 2018-11-30 14:43:10
    pyautogui自动化控制鼠标和键盘操作安装pyautogui鼠标操作样例pyautogui键盘操作样例按键支持提示信息alertoptionpasswordprompt截屏整个屏幕截图并保存屏幕截图并分析安全设置 PyAutoGUI是一个纯Python的GUI自动化...


    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux)。

    安装

    pip3 install pyautogui
    

    pyautogui鼠标操作样例

    import pyautogui
    
    # 获取当前屏幕分辨率
    screenWidth, screenHeight = pyautogui.size()
    
    # 获取当前鼠标位置
    currentMouseX, currentMouseY = pyautogui.position()
    
    # 2秒钟鼠标移动坐标为100,100位置  绝对移动
    #pyautogui.moveTo(100, 100,2)
    pyautogui.moveTo(x=100, y=100,duration=2, tween=pyautogui.linear)
    
    #鼠标移到屏幕中央。
    pyautogui.moveTo(screenWidth / 2, screenHeight / 2)
    
    # 鼠标左击一次
    #pyautogui.click()
    # x 
    # y 
    # clicks 点击次数
    # interval点击之间的间隔
    # button 'left', 'middle', 'right' 对应鼠标 左 中 右或者取值(1, 2, or 3)
    # tween 渐变函数
    #
    pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)
    
    # 鼠标相对移动 ,向下移动
    #pyautogui.moveRel(None, 10)
    pyautogui.moveRel(xOffset=None, yOffset=10,duration=0.0, tween=pyautogui.linear)
    
    
    # 鼠标当前位置0间隔双击
    #pyautogui.doubleClick()
    pyautogui.doubleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)
    
    # 鼠标当前位置3击
    #pyautogui.tripleClick()
    pyautogui.tripleClick(x=None, y=None, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)
    
    #右击
    pyautogui.rightClick()
    
    #中击
    pyautogui.middleClick()
    
    #  用缓动/渐变函数让鼠标2秒后移动到(500,500)位置
    #  use tweening/easing function to move mouse over 2 seconds.
    pyautogui.moveTo(x=500, y=500, duration=2, tween=pyautogui.easeInOutQuad)
    
    #鼠标拖拽
    pyautogui.dragTo(x=427, y=535, duration=3,button='left')
    
    #鼠标相对拖拽
    pyautogui.dragRel(xOffset=100,yOffset=100,duration=,button='left',mouseDownUp=False)
    
    #鼠标移动到x=1796, y=778位置按下
    pyautogui.mouseDown(x=1796, y=778, button='left')
    
    #鼠标移动到x=2745, y=778位置松开(与mouseDown组合使用选中)
    pyautogui.mouseUp(x=2745, y=778, button='left',duration=5)
    
    #鼠标当前位置滚轮滚动
    pyautogui.scroll()
    #鼠标水平滚动(Linux)
    pyautogui.hscroll()
    #鼠标左右滚动(Linux)
    pyautogui.vscroll()
    

    pyautogui键盘操作样例

    #模拟输入信息
    pyautogui.typewrite(message='Hello world!',interval=0.5)
    #点击ESC
    pyautogui.press('esc')
    # 按住shift键
    pyautogui.keyDown('shift')
    # 放开shift键
    pyautogui.keyUp('shift')
    # 模拟组合热键
    pyautogui.hotkey('ctrl', 'c')
    

    按键支持

    按键 说明
    enter(或return\n) 回车
    esc ESC键
    shiftleft, shiftright 左右SHIFT键
    altleft, altright 左右ALT键
    ctrlleft, ctrlright 左右CTRL键
    tab (\t) TAB键
    backspace, delete BACKSPACE 、DELETE键
    pageup, pagedown PAGE UP 和 PAGE DOWN键
    home, end HOME 和 END键
    up, down, left,right 箭头键
    f1, f2, f3…. F1…….F12键
    volumemute, volumedown,volumeup 有些键盘没有
    pause PAUSE键
    capslock, numlock,scrolllock CAPS LOCK, NUM LOCK, 和 SCROLLLOCK 键
    insert INS或INSERT键
    printscreen PRTSC 或 PRINT SCREEN键
    winleft, winright Win键
    command Mac OS X command键

    提示信息

    alert

    #pyautogui.alert('This is an alert box.','Test')
    pyautogui.alert(text='This is an alert box.', title='Test')
    

    在这里插入图片描述

    option

    #pyautogui.confirm('Shall I proceed?')
    pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
    

    在这里插入图片描述

    password

    a = pyautogui.password('Enter password (text will be hidden)')
    print(a)
    

    在这里插入图片描述

    prompt

    a = pyautogui.prompt('input  message')
    print(a)
    

    在这里插入图片描述

    截屏

    整个屏幕截图并保存

    im1 = pyautogui.screenshot()
    im1.save('my_screenshot.png')
    
    im2 = pyautogui.screenshot('my_screenshot2.png')
    

    屏幕查找图片位置并获取中间点

    #在当前屏幕中查找指定图片(图片需要由系统截图功能截取的图)
    coords = pyautogui.locateOnScreen('folder.png')
    #获取定位到的图中间点坐标
    x,y=pyautogui.center(coords)
    #右击该坐标点
    pyautogui.rightClick(x,y)
    

    安全设置

    import pyautogui
    
    #保护措施,避免失控
    pyautogui.FAILSAFE = True
    #为所有的PyAutoGUI函数增加延迟。默认延迟时间是0.1秒。
    pyautogui.PAUSE = 0.5
    
    展开全文
  • c++使用sendinput函数实现模拟键盘按键操作
  • delphi模拟按键精灵鼠标、键盘操作 让Webbrowser响应回车事件! delphi 模拟鼠标点击动作及模拟输入文字
  • rk键盘操作指南

    万次阅读 2019-03-06 13:55:41
    rk键盘操作指南
  • 今天开机不知为什么鼠标操作没反应,用键盘操作很正常,但我以前一直用鼠标操作,只有打代码才用键盘,刚用手机上网查了一下,只会一点点,但是关于怎么用鼠标关闭软件、文件,移动到你要操作的地方,等等这些我都查...
  • 本文是笔者在学习51单片机的笔记心得。这篇着重介绍C51单片机是如何检测独立按键以及矩阵键盘操作
  • selenium自动化常用的键盘操作

    千次阅读 2019-06-13 22:09:01
    selenium提供了比较...在keys类中,定义了非常多的按键操作,以下内容是在实际上会常用到的 组合键: 我们经常会用到的Ctrl+A,Ctrl+C都是组合键 在使用按键操作的时候需要借助一下send_keys()来模拟操作 Keys.CO...
  • labvIEW 模拟按键操作

    热门讨论 2013-02-26 11:46:00
    labvIEW 模拟按键操作,调用user32.dll
  • Selenium键盘操作

    2019-11-09 22:30:00
    selenium中把键盘按键都封装在Keys类中。 二、Keys类 导包:from selenium.webdriver.common.keys import Keys 三、常用的键盘操作 send_keys(Keys.BACK_SPACE) 删除键(Backspace) send_keys...
  • SikuliX学习笔记④键盘操作

    千次阅读 2020-06-16 23:18:35
    本文记录了SikuliX中按键操作的方法。 1.控制字符 键名 sikuliX中的命令 Shift type(Key.SHIFT) Ctrl type(Key.CTRL) Alt键 type(Key.ALT) Tab(制表符) type(Key.TAB) 大写锁定 type(Key.CAPSLOCK) ...
  • 引入库:PyUserInput ...需要导入pykeyboard模块下的PyKeyboard类模拟键盘按键操作 #!/usr/bin/env python # -*- coding:utf-8 -*- from selenium import webdriver import time from pykeyboard impor...
  • 通过send_keys()方法来模拟键盘上的按键。 导入键盘类Keys() from selenium.webdriver.common.keys import Keys 一、常用的键盘操作: send_keys(Keys.BACK_SPACE):删除键(BackSpace) send_keys(Keys.SPACE):空格...
  • Python基础之键盘操作

    2020-10-25 21:49:59
    Python基础之键盘操作 文章目录Python基础之键盘操作1. 键盘输入2. 键盘特殊按键3. 快捷键4. 提示信息框 1. 键盘输入 pyautogui.keyDown() : 模拟按键按下; pyautogui.keyUp() : 模拟按键释放; pyautogui.press...
  • 转发 Mac 键盘上的按键操作

    千次阅读 2013-06-19 19:24:51
    但是,在会话期间您按下的一些按键不会显示在远程应用程序或桌面上,而是由 Mac 操作系统解析。 这可能转而演变成触发 Mac 响应的按键。 例如,可以将 F9 配置为运行 Exposé 的“全部窗口”功能。 您还可能面对...
  • 但是听很多大神说很多游戏使用DirectX(DirectX为了提高游戏的响应速度直接是读端口的输入)导致我的模拟按键无法生效,在网上查询了很久,然后发现winIo64的驱动级操作可以完美解决这个事情。 代码参考: ...
  • 在vbscript中我们可以object.SendKeys模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行,,需要的朋友可以参考下
  • web自动化之按键操作

    2019-06-01 15:10:22
    前言:在我们浏览器有很多键盘操作。比如 回车啊空格啊,F1 F12啥的。 针对键盘操作我们selenium里剔红了Keys方法 只需要导入一下就可以了。我们看下Keys的源码,看看它给我们提供了什么 from selenium.webdriver....
  • #模拟键盘操作 from selenium.webdriver.common.keys import Keys element.send_keys(Keys.F12) element.send_keys(Keys.ENTER) import unittest import time from selenium import webdriver class VisitSogouByIE...
  • pyautogui自动化控制鼠标和键盘操作 安装 pyautogui鼠标操作样例 pyautogui键盘操作样例 按键支持 提示信息 alert option password prompt 截屏 整个屏幕截图并保存 屏幕查找图片位置并获取中间点...
  • Python实现键盘操作方法

    千次阅读 2020-07-30 19:09:52
    原来在robotframework中使用press key方法进行键盘操作,但是该方法需要写被操作对象的locator,不是很方便,现在找到了一种win32api库写键盘操作的一个方法(注意:此方法被操作界面必须在顶层),首先,需要安装...
  • %INPUTEMU Java-Based Mouse/Keyboard Emulator java实现的matlab模拟鼠标、键盘操作库,支持单击、双击、复合键等操作,功能全面,亲测可用
  • JS实现 键盘操作

    千次阅读 2019-07-30 04:58:03
    JS实现 键盘操作: 详情可以去其逛网查看其API并下载,地址:http://craig.is/killing/mice <!DOCTYPE ...
  • 2、利用Python模拟鼠标和键盘操作,模拟人工去操作此软件。 第一种想法比较难实现,因为首先是没有此软件的接口,没办法进入它的后台。其次是Python没有这样的功能库。 第二种想法容易实现,但是有一个问题,是Py...
  • 以下是基于Java语言在Selenium WebDriver中模拟键盘操作的一些常用方法总结 操作单个按键 比如按回车键、按F5进行页面刷新、按F11将窗口设为全屏模式等。 方式1:使用WebElement类中的sendKeys方法 driver.find...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 608,952
精华内容 243,580
关键字:

键盘操作