翼度科技»论坛 编程开发 python 查看内容

模拟鼠标键盘操作PyUserInput

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
模拟鼠标操作是模拟鼠标点击和键盘输入的操作,UI自动化测试中非常实用。在Web UI、App UI、WinApp UI自动化测试讲解中借助Selenium和Appium框架下ActionChains、TouchAction、MouseButton等类已经介绍了如何模拟鼠标和键盘操作。本文将为大家介绍一个独立的、任何时候都可以模拟鼠标和键盘操作的Python第三方库PyMouse和PyKeyboard。
PyMouse和PyKeyboard库都集成在PyUserInput库中,支持在Linux、Mac、Windows系统中使用,但是不同的操作系统使用时依赖库是不同的,Linux系统下依赖Xlib库、Mac系统下依赖Quartz和AppKit库、Windows系统下依赖pywin32和pyHook库。在安装上和Python其他第三方库安装相同,命令行工具中输入pip install PyUserInput库即可完成安装。
鼠标操作

鼠标操作种类繁多,例如左键单击、鼠标移动、鼠标拖拽、滚动、鼠标按下、鼠标释放等。PyMouse类下提供的方法如下:
        drag(x, y):鼠标拖拽到x,y坐标。
        move(x, y):鼠标移动到x,y坐标。
        position():返回鼠标当前x,y坐标。
        press(x, y, button=1):鼠标在x,y坐标处按下不松开,参数button表示按键。1代表左键、2代表中间键、3代表右键。
        release(x, y, button=1):鼠标在x,y坐标处松开,参数button表示按键。1代表左键、2代表中间键、3代表右键。
        scroll(vertical=None, horizontal=None, depth=None):鼠标滚动。支持垂直、水平和深度三个方向。
        click(x, y, button=1, n=1):鼠标在x,y坐标处点击。参数button表示按键,1代表左键、2代表中间键、3代表右键,参数n表示点击几次。
例如鼠标在坐标x=100,y=100处左键点击两次,代码如下:
  1. # pymouse_demo.py
  2. from pymouse import PyMouse
  3. # 实例化鼠标对象
  4. mouse = PyMouse()
  5. # x=100, y=100 处左键点击两次
  6. mouse.click(x=100, y=100, button=1, n=2)
复制代码
键盘操作

键盘操作种类也有很多种,例如按下某键、释放某键、发送组合键等。PyKeyboard类下提供的方法如下:
        press_key(character):按下character键。
        release_key(character):释放character键。
        tap_key(character):轻击character键。
        tap_key(character,n,interval):连续轻击character键。参数n表示连续轻击次数,参数interval表示两次轻击之间的间隔时间。例如tap_key('l',n=2,interval=5)。
        type_string(char_string):发送字符串。
        PyKeyboard也提供了特殊键,部分特殊键如下:
        alt_key:Alt键。
        tab_key:Tab键。
        backspace_key:BackSpace键。
        return_key:Return键。
        enter_key:Enter键。
        shift_l_key:Shift+L键。
        alt_r_key:Alt+R键。
        control_r_key:Control+R键。
        cancel_key:Cancel键。
        function_keys[n]:function区域键,例如F5键就是function_keys[5]。
        numpad_keys['Home']:数字键盘键,例如Home键就是numpad_keys['Home'],数字键盘5键就是numpad_keys[5]。
例如发送字符串“Hello World!”和发送Alt+Tab组合键,代码如下:
  1. # pykeyboard_demo.py
  2. from pykeyboard import PyKeyboard
  3. # 实例化键盘对象
  4. keyboard = PyKeyboard()
  5. # 发送 Hello World! 字符串
  6. keyboard.type_string('Hello World!')
  7.        
  8. # 发送 Alt + Tab 组合键
  9. keyboard.press_key(keyboard.alt_key)
  10. keyboard.tap_key(keyboard.tab_key)
  11. keyboard.release_key(keyboard.alt_key)
复制代码
来源:https://www.cnblogs.com/tynam/p/17722992.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具