简介
在 Python 生态里,如果你想让程序接管鼠标和键盘,pyautogui 是个非常实用的第三方库。它不随 Python 自带,需要单独安装。虽然功能强大,但用之前最好心里有数:这玩意儿会直接操作你的系统输入设备,跑的时候别把鼠标甩飞了。
环境准备
安装很简单,直接用 pip 即可。注意,现代版本通常会自动处理依赖(如 Pillow),不需要单独折腾 image 模块了。
pip install pyautogui
鼠标控制
1. 屏幕与位置
先搞清楚你在哪块屏幕上干活。size() 能告诉你分辨率,position() 能实时反馈当前光标坐标。
import pyautogui
print(pyautogui.size()) # 输出类似 (1920, 1080)
print(pyautogui.position()) # 输出当前坐标,例如 (500, 300)
2. 移动光标
有两种移动方式:绝对定位和相对移动。
- 绝对移动:
moveTo(x, y)。参数是屏幕上的具体坐标。如果想让动作看起来自然点,可以加个duration参数控制耗时,不然鼠标会瞬移。 - 相对移动:
moveRel(x, y)。基于当前位置偏移。比如想往下挪一点,就写moveRel(0, 100)。
# 平滑移动到 (100, 100),耗时 1 秒
pyautogui.moveTo(100, 100, duration=1)
# 从当前位置向下移动 300 像素
pyautogui.moveRel(0, 300, duration=1)
3. 点击与拖拽
最常用的操作莫过于点击。click(x, y) 默认左键,可以通过 button 参数指定右键或中键。双击和右键也有专用函数 doubleClick() 和 rightClick()。
关于拖拽,dragTo 和 dragRel 类似于移动函数,区别在于它们会在移动过程中保持鼠标左键按下状态。这在自动绘图或移动窗口时很有用。
# 在 (370, 120) 处点击
pyautogui.click(370, 120)
# 模拟画板绘图:按住左键拖动
pyautogui.dragRel(100, 0, duration=1) # 向右
pyautogui.dragRel(, , duration=)
pyautogui.dragRel(-, , duration=)
pyautogui.dragRel(, -, duration=)

