4人参与 • 2025-04-25 • Python
pyautogui 是 python 生态中 功能最全面的图形界面自动化库,通过模拟鼠标、键盘操作和屏幕图像识别,实现跨平台(windows/macos/linux)的自动化任务。其核心价值在于:
安装命令:
pip install pyautogui # 核心库 pip install pillow # 图像处理依赖(截图功能必需)
验证安装:
import pyautogui print(pyautogui.__version__) # 输出版本号(如 0.9.54)
全局安全配置(防止脚本失控):
pyautogui.failsafe = true # 鼠标移至左上角时自动终止程序[2](@ref) pyautogui.pause = 0.5 # 每次操作后暂停 0.5 秒[2](@ref)
函数/方法 | 功能描述 | 参数说明 |
---|---|---|
pyautogui.moveto(x, y, duration) | 移动鼠标到绝对坐标 (x, y) | duration :移动耗时(秒),设为 0 则瞬间完成 |
pyautogui.moverel(dx, dy, duration) | 相对当前位置偏移 (dx, dy) | 常用于动态调整位置(如拖拽文件) |
pyautogui.click(x, y, clicks, button) | 点击操作(左键/右键/双击) | button :'left' (默认)、'right' 、'middle' |
pyautogui.dragto(x, y, duration) | 拖拽到目标位置 | 需先按住鼠标,常用于文件拖放或绘图软件操作 |
pyautogui.scroll(units) | 滚动鼠标滚轮 | units :正数向上滚动,负数向下 |
示例:自动化文件拖放
pyautogui.moveto(100, 200, duration=1) # 移动至文件位置 pyautogui.dragto(500, 300, duration=2) # 拖拽至目标文件夹
函数/方法 | 功能描述 | 参数说明 |
---|---|---|
pyautogui.write(text, interval) | 模拟键盘输入文本 | interval :字符输入间隔时间(秒) |
pyautogui.press(keys) | 按下并释放单个按键(如 'enter' 、'tab' ) | 支持 200+ 种按键(见 pyautogui.keyboard_keys ) |
pyautogui.hotkey(*keys) | 组合快捷键(如 'ctrl+c' ) | 自动处理按键顺序(按下 ctrl → 按下 c → 释放 c → 释放 ctrl ) |
pyautogui.keydown(key) / keyup(key) | 分别处理按键的按下和释放 | 用于长按操作(如游戏角色移动) |
示例:自动填写表单
pyautogui.write('张三', interval=0.1) # 输入姓名 pyautogui.press('tab') # 切换至下一输入框 pyautogui.write('13812345678') # 输入手机号 pyautogui.hotkey('ctrl', 's') # 保存表单[6](@ref)
函数/方法 | 功能描述 | 参数说明 |
---|---|---|
pyautogui.screenshot(region) | 截取屏幕区域图像 | region :指定区域 (x, y, width, height),默认全屏 |
pyautogui.locateonscreen(image, confidence) | 在屏幕上匹配目标图像位置 | confidence :匹配精度(0~1),推荐 0.8 以上 |
pyautogui.locatecenteronscreen(image) | 返回匹配图像的中心坐标 | 常用于点击动态位置的按钮 |
pyautogui.pixel(x, y) | 获取指定像素点的 rgb 颜色值 | 用于判断界面状态(如按钮是否高亮) |
示例:智能点击动态按钮
button_pos = pyautogui.locateonscreen('submit_button.png', confidence=0.9) if button_pos: x, y = pyautogui.center(button_pos) pyautogui.click(x, y) # 点击按钮中心[1,4](@ref) else: raise exception("未找到提交按钮")
函数/方法 | 功能描述 | 参数说明 |
---|---|---|
pyautogui.getwindowswithtitle(title) | 获取指定标题的窗口对象 | 需配合 pygetwindow 库使用 |
pyautogui.alert(text) | 弹出确认对话框 | 阻塞程序直至用户点击 |
pyautogui.size() | 返回屏幕分辨率 (width, height) | 用于计算相对坐标 |
示例:多窗口协同操作
# 激活记事本窗口并输入内容 notepad = pyautogui.getwindowswithtitle('记事本')[0] notepad.activate() pyautogui.write('自动录入文本', interval=0.1)
自动化办公
数据采集与测试
游戏与娱乐
兼容性优化
confidence=0.95
)。性能提升
pyautogui.locateallonscreen()
批量识别多个目标,减少截图次数。with pyautogui.lock()
),防止操作冲突。异常处理
pyautogui.imagenotfoundexception
以处理图像识别失败。pyautogui.logscreenshot()
)便于调试。到此这篇关于python中pyautogui 库的使用的文章就介绍到这了,更多相关python pyautogui 库内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论