截屏函数
PyAutoGUI用Pillow/PIL库实现图片相关的识别和操作。
在Linux里面,你必须执行sudo apt-get install scrot来使用截屏特性。
如果你有一个片文件想在上面做点击操作,你可以用locateOnScreen()函数来定位。
locateAllOnScreen()函数会寻找所有相似图片,返回一个生成器:
locateCenterOnScreen()函数会返回图片在屏幕上的中心XY轴坐标值:
如果没找到图片会返回None。
定位比较慢,一般得用1~2秒
常用函数:
position():返回整数元组(x, y),分别表示鼠标光标所在位置的XY轴坐标
size():返回显示器的尺寸整数元组(x, y)。未来将加入多屏支持
鼠标控制函数:
1 屏幕与鼠标位置:
屏幕位置使用X和Y轴的笛卡尔坐标系。原点(0,0)在左上角,分别向右、向下增大。
如果屏幕像素是(1920 ,1080),那么右下角的坐标是(1919, 1079)。
分辨率大小可以通过size()函数返回整数元组。光标的位置用position()返回。例如:
下面是Python 3版本的光标位置记录程序:
要检查XY坐标是否在屏幕上,需要用onScreen()函数来检验,如果在屏幕上返回True:
2 鼠标行为:
moveTo()函数会把鼠标光标移动到指定的XY轴坐标处。如果传入None值,则表示使用当前光标的对象轴坐标值。
一般鼠标光标都是瞬间移动到指定的位置,如果你想让鼠标移动的慢点,可以设置持续时间:
默认的持续时间pyautogui.MINIMUM_DURATION是0.1秒,如果你设置的时间比默认值还短,那么就会瞬间执行。
如果你想让光标以当前位置为原点,进行相对移动,就用pyautogui.moveRel()函数。例如: