用GUI自动化控制键盘和鼠标

本文简单介绍如何通过python的pyautogui库写程序直接控制键盘和鼠标.

安装pyautogui模块

在命令行窗口运行pip install pyautogui,安装pyautogui.

防止或恢复GUI自动化问题

python能够以想象不到的速度移动鼠标并击键.实际上,他可能太快了,导致其他程序跟不上.而且,如果出了问题,但你的程序继续到处移动鼠标,可能很难搞清楚程序到底在做什么,或者如何从问题中恢复.好在,有几种方法来防止或恢复GUI自动化问题

1.通过注销关闭所有程序

注销的热键是ctrl-alt-del.通过注销,会失去未保存的工作,但至少不需要等计算机完全重启

2.暂停和自动防故障装置

将pyautogui.PAUSE变量设置为要暂停的秒数.例如:在设置pyautogui.PAUSE=2之后,每个PyAutoGUI函数调用在执行动作之后,都会等待一秒半.
pyautogui也有自动防故障功能.将鼠标移到屏幕的左上角,这将导致pyautogui产生pyautogui.FailSafeException异常.你的程序可以用try和except语句来处理这个异常,也可以让异常导致程序崩溃.这两种情况下,如果你尽可能快地向左上移动鼠标,自动防故障功能都将停止程序.可以设置pyautogui.FAILSAFE=False,禁止这项功能.

PyAutoGUI函数

函数名

功能介绍

moveTo(x,y)

将鼠标移动到指定的x,y坐标

moveRel(xOffset,yOffset)

相对于当前位置移动鼠标

dragTo(x,y)

按下左键移动鼠标

dragRel(xOffset,yOffset)

按下左键,相对于当前位置移动鼠标

click(x,y,button)

模拟点击(默认是左键)

rightClick()

模拟右键点击

middleClick()

模拟中键点击

doubleClick()

模拟左键双击

mouseDown(x,y,button)

模拟在x,y处按下指定鼠标按键

mouseUp(x,y,button)

模拟在x,y处释放指定键

scroll(units)

模拟滚轮滚动.正参数表示向上滚动,负参数表示向下滚动

typewrite(message)

键入给定消息字符串中的字符

typewrite([Key1,Key2,…])

键入给定键字符串

press(key)

按下并释放给定键,接受单个按键命令

keyDown(key)

模拟按下给定键

KeyUp(key)

模拟按下释放给定键

hotKey([Key1,Key2,…])

模拟按顺序按下给定键字符串,然后以相反的顺序释放

screenshot()

返回屏幕快照的Image对象

getpixel((x,y))

图像中这些坐标处的像素颜色

pixelMatchesColor(x,y,(r,g,b))

屏幕指定的x.y坐标处的像素与指定的颜色匹配

position()

确定鼠标当前的位置.它将返回函数调用时,鼠标x,y坐标的元组

键名

android 监听软键盘 pyautogui监听键盘_python


android 监听软键盘 pyautogui监听键盘_python自动化编程_02