图形用户界面自动化“GUI 自动化”
pyautogui 模块包含了一些函数,可以模拟鼠标移动、按键和滚动鼠标滚轮。
本章只介绍了 pyautogui 功能的子集。可以在 http://pyautogui.readthedocs.org/找到完整的文档。
Welcome to PyAutoGUI’s documentation
一、安装 pyautogui 模块
pip install pyautogui
二、走对路
1.通过注销关闭所有程序
停止失去控制的 GUI 自动化程序
注销:关闭所有运行的程序 - - - 快捷键:Ctrl-Alt-Del
通过注销,你会丢失所有未保存的工作,但至少不需要等计算机完全重启
2.暂停和自动防故障装置
每个 PyAutoGUI 函数调用在执行动作之后,都会等待一秒半。非 PyAutoGUI 指令不会停顿
pyautogui.PAUSE = 1.5
自动防故障功能
将鼠标移到屏幕的左上角,这将导致 pyautogui产生 pyautogui .FailSafeException 异常
禁止这项功能
pyautogui. FAILSAFE = False
将 pyautogui.PAUSE 设置为 1,即每次函数调用后暂停一秒
将 pyautogui.FAILSAFE 设置为 True,启动自动防故障功能
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
将鼠标一直往左上角移动,会出现故障安全异常报错
FailSafeException: PyAutoGUI fail-safe triggered from mouse moving to a corner of the screen. To disable this fail-safe, set pyautogui.FAILSAFE to False. DISABLING FAIL-SAFE IS NOT RECOMMENDED.
三、控制鼠标移动
分辨率是屏幕的宽和高有多少像素。如果屏幕的分辨率设置为 1920 ×1080,那么左上角的坐标是(0,0),右下角的坐标是(1919,1079)
pyautogui.size() # Size(width=1920, height=1080)
width, height = pyautogui.size()
1.移动鼠标 pyautogui.moveTo() pyautogui.moveRel()
pyautogui.moveTo()
函数将鼠标立即移动到屏幕的指定位置。
arg1:x坐标 - - - arg2:y坐标 - - - arg3:duration
可选的 duration 整数或浮点数关键字参数,指定了将鼠标移到目的位置所需的秒数。如果不指定,默认值是零,表示立即移动(在 PyAutoGUI 函数中,所有的 duration 关键字参数都是可选的)
for i in range(10):
pyautogui.moveTo(100, 100, duration=0.25)
pyautogui.moveTo(200, 100, duration=0.25)
pyautogui.moveTo(200, 200, duration=0.25)
pyautogui.moveTo(100, 200, duration=0.25)
pyautogui.moveRel()
函数相对于当前的位置移动鼠标
每次都是以自身为起点(0,0)
for i in range(10):
pyautogui.moveRel(100, 0, duration=0.25)
pyautogui.moveRel(0, 100, duration=0.25)
pyautogui.moveRel(-100, 0, duration=0.25)
pyautogui.moveRel(0, -100, duration=0.25)
2.获取鼠标位置 pyautogui.position()
pyautogui