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. 特殊按键对应表

常用特殊键:enteresctabspacebackspacedeleteupdownleftrightctrlaltshiftwin(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秒

注意事项

  1. 操作前建议先运行 pyautogui.position() 确认坐标位置。
  2. 图像识别可能受屏幕分辨率、缩放比例影响,可调整 confidence 参数(需安装 opencv-python 支持)。
  3. 复杂操作建议结合 time.sleep() 控制流程,避免操作冲突。

以上涵盖了 PyAutoGUI 的核心功能,更多细节可参考官方文档:PyAutoGUI Documentation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值