鉴于网上没找到太完整的相关资料,本文打算直接翻译官方文档(并做一些简易修改)。
文档好像没更新,如果发现一些问题,直接看源码吧。。
地址:https://pyautogui.readthedocs.io/en/latest/
pyautogui 中函数大致分为鼠标控制、键盘控制、消息窗口、截图 4 大类。
鼠标控制功能
鼠标位置
PyAutoGUI 沿用了传统的坐标体系,并未重新定义,如下图所示。
左上角的像素位于坐标 0, 0 处。如果屏幕的分辨率为 1920 x 1080,则右下角的像素将为 1919, 1079(因为坐标从 0 开始,而不是 1)。
循环获取当前鼠标位置可用如下代码:
import pyautogui
# 上一次的位置
last_pos = pyautogui.position()
try:
while True:
# 新位置
new_pos = pyautogui.position()
if last_pos != new_pos:
print( "(" + str(new_pos[0]) + "," + str(new_pos[1]) + ")")
last_pos = new_pos
except KeyboardInterrupt:
print('\nExit.')
官网一个输出整花里胡哨,太难理解了,我直接魔改了。
鼠标移动
现在已经不能传入参数 None 了,估计函数改过,用 0 代替吧。
否则报错:int() argument must be a string, a bytes-like object or a number, not 'NoneType'
import pyautogui
# duration 为移动鼠标到该点所用的时间,很明显
pyautogui.moveTo(600,0,duration=2)
# 鼠标光标移动到相对于其当前位置的几个像素上
pyautogui.move(0, 50)
鼠标拖动
在当前鼠标位置,按住鼠标左键,x 方向拖动 100 像素,y 方向拖动 200 像素,一共执行 2 s。
pyautogui.dragRel(100,200,2,button='left')
在当前鼠标位置,按住鼠标左键,拖动到坐标为