设为首页 加入收藏

TOP

模拟鼠标键盘操作PyUserInput
2023-09-23 15:43:36 】 浏览:76
Tags:PyUserInput

模拟鼠标操作是模拟鼠标点击和键盘输入的操作,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处左键点击两次,代码如下:

# pymouse_demo.py
from pymouse import PyMouse

# 实例化鼠标对象
mouse = PyMouse()
# x=100, y=100 处左键点击两次
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组合键,代码如下:

# pykeyboard_demo.py
from pykeyboard import PyKeyboard

# 实例化键盘对象
keyboard = PyKeyboard()
# 发送 Hello World! 字符串
keyboard.type_string('Hello World!')
	
# 发送 Alt + Tab 组合键
keyboard.press_key(keyboard.alt_key)
keyboard.tap_key(keyboard.tab_key)
keyboard.release_key(keyboard.alt_key)
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python 实现Word转PDF 下一篇python使用selenium 打开谷歌浏览..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目