文章目录
一、前提知识点
1. 安装pyautogui
不同的操作系统下安装pyautogui模块的复杂程度是不同的。
在Windows上 直接pip install pyautogui
但在OS X和Linux上安装就比较麻烦,需要先安装一些依赖库
在OS X上
- 运行
sudo pip3 install pyobjc-framework-Quartz
- 运行
sudo pip3 install pyobjc-core
- 运行
sudo pip3 install pyobjc
- 运行
pip3 install pyautogui
在Linux上
- 运行
sudo pip3 install python3-xlib
- 运行
sudo apt-get install scrot
- 运行
sudo apt-get install python3-tk
- 运行
sudo apt-get install python3-dev
- 运行
pip3 install pyautogui
——
2. 电脑分辨率这件事
在pyautogui中,如果要想控制鼠标,那么首先得追踪到鼠标在屏幕上的位置,也就是说你必须知道在pyautogui中采取了怎样的做坐标系统,那就是我们常见的x,y坐标系。
以我的电脑是1920x1080分辨率为例
- 通过整个x,y坐标系就能表示整个屏幕的每一位置
- (0,0) 代表了屏幕最左上角,(1919,1079)代表了屏幕最右下角
- 向右x坐标增加,向下y坐标增加
- 所有坐标都是正整数,没有负数坐标
——
3. 做好GUI安全措施
首先要知道为啥要做好安全措施。
- 因为Python能够以超乎想象的速度移动和点击鼠标,速度太快以至于其他程序很可能跟不上。
- 如果程序本身存在问题,但是程序会依旧控制鼠标到处乱动,但是其操作并不是你所想要的。
基于以上情况普遍的发生,所以我们要提前做好一些安全措施,避免翻车。
安全措施一:暂停等待
pyautogui.PAUSE = 1
每个PyAutoGUI函数调用在执行动作之后,都会等待1秒;非PyAutoGUI指令不会停顿。
安全措施二:自动防故障
pyautogui.FAILSAFE = True
将鼠标移动到屏幕的左上角,这将导致pyautogui产生pyautogui.FailSafeException异常,再通过try和except语句进行处理,从而停止程序。
整体代码如下:
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
二、鼠标动起来!
首先我们来认识一些PyAutoGui函数方法,如何让鼠标自己移动、点击、拖动和滚动起来。
——
1. 控制鼠标移动
【01】pyautogui.size() 返回屏幕的宽和高像素数
import pyautogui
print(pyautogui.size())
width,height = pyautogui.size()
print(width,height)
程序运行结果
【02】pyautogui.moveTo()/.moveRel() 实现鼠标移动
import pyautogui
# pyautogui.moveTo() 绝对位置移动(移动到指定坐标)
for i in range(10):
pyautogui.moveTo(100,100,duration=0.25) # duration指定鼠标移到目的位置所需的秒数
py