PyAutoGUI 自动化 GUI 操作的 Python 库核心操作命令总结
PyAutoGUI 是一个用于自动化 GUI 操作的 Python 库,支持鼠标、键盘控制和屏幕截图等功能。以下是其核心操作命令的详细总结:
一、基本配置
import pyautogui# 防止操作太快,设置延迟(所有函数生效)
pyautogui.PAUSE = 1 # 延迟1秒# 开启安全模式,鼠标移到左上角会触发异常终止
pyautogui.FAILSAFE = True# 获取屏幕尺寸
screen_width, screen_height = pyautogui.size()
二、鼠标操作
1. 移动鼠标
# 绝对位置移动(x,y为屏幕坐标)
pyautogui.moveTo(x, y, duration=0.5) # duration为移动时间(秒)# 相对位置移动(相对于当前位置)
pyautogui.moveRel(dx, dy, duration=0.5) # dx:水平偏移,dy:垂直偏移
2. 点击操作
# 单击(默认左键)
pyautogui.click(x, y, button='left') # button可选'left'/'right'/'middle'# 双击
pyautogui.doubleClick(x, y)# 右键单击
pyautogui.rightClick(x, y)# 中键单击
pyautogui.middleClick(x, y)# 按下/释放鼠标
pyautogui.mouseDown(button='left') # 按下
pyautogui.mouseUp(button='left') # 释放
3. 滚轮操作
pyautogui.scroll(amount) # 正数向上滚,负数向下滚
4. 获取鼠标位置
x, y = pyautogui.position() # 返回当前鼠标坐标
三、键盘操作
1. 输入文本
pyautogui.typewrite('Hello World!', interval=0.1) # interval为字符间隔时间
2. 按键与组合键
# 单个按键
pyautogui.press('enter') # 按Enter键# 多个按键依次按下
pyautogui.press(['left', 'right', 'enter'])# 按下/释放按键
pyautogui.keyDown('shift') # 按下Shift
pyautogui.keyUp('shift') # 释放Shift# 组合键(如Ctrl+C)
pyautogui.hotkey('ctrl', 'c') # 等价于按下Ctrl再按C,然后释放
3. 特殊按键对应表
常用特殊键:enter
、esc
、tab
、space
、backspace
、delete
、up
、down
、left
、right
、ctrl
、alt
、shift
、win
(Windows键)、command
(Mac)等。
四、屏幕截图与图像识别
1. 屏幕截图
# 截取全屏并保存
screenshot = pyautogui.screenshot('screenshot.png')# 获取截图中某个像素的颜色
pixel_color = pyautogui.pixel(x, y) # 返回(r, g, b)元组# 验证某个位置的颜色是否符合预期
pyautogui.pixelMatchesColor(x, y, (r, g, b), tolerance=10) # tolerance为容差
2. 图像定位
# 查找图像在屏幕上的位置(需提供目标图像路径)
location = pyautogui.locateOnScreen('target.png', confidence=0.8) # confidence为匹配度(0-1)
# 返回值:(left, top, width, height),未找到返回None# 查找图像中心坐标
x, y = pyautogui.center(location)
五、消息框
# 提示框
pyautogui.alert('这是一个提示框', title='提示', button='确定')# 确认框(返回用户点击的按钮文本)
response = pyautogui.confirm('是否继续?', buttons=['是', '否'])# 输入框(返回用户输入的文本)
text = pyautogui.prompt('请输入内容:')# 密码框(输入内容会被隐藏)
password = pyautogui.password('请输入密码:')
六、其他功能
# 获取当前活跃窗口信息(需配合pygetwindow库)
import pygetwindow as gw
active_window = gw.getActiveWindow()
print(active_window.title) # 窗口标题
print(active_window.size) # 窗口尺寸# 等待指定图像出现(超时后返回None)
location = pyautogui.locateOnScreen('target.png', minSearchTime=10) # 最多等待10秒
注意事项
- 操作前建议先运行
pyautogui.position()
确认坐标位置。 - 图像识别可能受屏幕分辨率、缩放比例影响,可调整
confidence
参数(需安装opencv-python
支持)。 - 复杂操作建议结合
time.sleep()
控制流程,避免操作冲突。
以上涵盖了 PyAutoGUI 的核心功能,更多细节可参考官方文档:PyAutoGUI Documentation。