小白也能上手的桌面自动化:用 PyAutoGUI 5 分钟让电脑自己干活
你是不是每天都在重复"打开 → 搜索 → 点击 → 导出"这套动作?手点 100 次不累,累的是每天都点、每周都点。把电脑变成"听话的机器人手和打字员",你只管下命令,它自己点、自己输、自己保存。今天,用 PyAutoGUI,5 分钟上手,一次脚本,长期省时。
—— 你最想自动化掉哪一步?在评论里打出你的"烦人流程"。
一、它到底能做什么?(搞清边界,少走弯路)
鼠标:移动、点击、右键、双击、拖拽、滚轮。
键盘:输入文字、按下按键、组合热键。
屏幕:截图、在屏幕上"以图找图"定位控件。
信息:拿分辨率、当前鼠标坐标、像素颜色对不对。
安全:每步自动停顿 `PAUSE`,左上角一甩触发急停 `FAILSAFE`。
简单说,它能把"你手上做的 GUI 操作"复刻为脚本,跨 Windows/macOS/Linux 都能跑,不用装驱动。
—— 你最想把哪一步"交给电脑做"?评论区点名,我给你脚本骨架。
二、3 分钟装好环境(零门槛开箱)
. 安装:
pip install pyautogui
# 需要相似度匹配,再装:
pip install opencv-python
. 基础设置:
import pyautogui
pyautogui.PAUSE = 0.3 # 每步停 0.3 秒,稳定
pyautogui.FAILSAFE = True # 鼠标甩到左上角即可急停
. 熟悉坐标:把鼠标放一会儿,看看 `pyautogui.position()`;用 `pyautogui.size()` 记住屏幕分辨率。
—— 装好了没?在评论区打"已装好"。我把进阶脚本发给你。
三、万能骨架:找图 → 点击 → 输入 → 保存
把按钮截成一张小图,比如 button.png,脚本自动识别并点击,然后输入内容、保存。
import pyautogui
pyautogui.PAUSE = 0.3
pyautogui.FAILSAFE = True
center =
pyautogui.locateCenterOnScreen('button.png', confidence=0.9)
if center:
pyautogui.moveTo(center, duration=0.2)
pyautogui.click()
pyautogui.write('Hello, PyAutoGUI!')
pyautogui.hotkey('ctrl', 's') # macOS: 'command','s'
else:
pyautogui.alert('没找到按钮,检查截图清晰度或调整 confidence')
—— 你要点的"按钮"叫什么?把小图命名发评论,我教你如何调 confidence 和 region。
四、识别不准?通常就这 6 个原因
缩放/DPI 不一致:尽量把系统缩放调成 100%,或用相同缩放重新截图。
双屏/分辨率差太多:锁定主屏或限定搜索区域 `region`。
素材图太大/信息太杂:只截关键特征区域,去掉背景噪声。
动态状态/悬浮高亮:在稳定状态截图,别截"鼠标悬停高亮"。
相似元素太多:提高 `confidence` 或限制 `region`,必要时换更有特征的图。
元素渲染慢:加 `time.sleep()` 或写重试逻辑。
—— 你卡在哪一步?留言"你的问题 + 目标软件名",我给你对症处方。
五、进阶:区域定位 + 重试容错 + 热键编排
整屏搜既慢又不稳。限定区域再配重试,命中率和速度都上去。
import pyautogui, time
def locate_click(img, region=None, tries=6, interval=0.5, conf=0.9):
for _ in range(tries):
pos =
pyautogui.locateCenterOnScreen(img, region=region, confidence=conf)
if pos:
pyautogui.moveTo(pos, duration=0.15)
pyautogui.click()
return True
time.sleep(interval)
return False
# 示例:只在 (100,100,800,600) 的区域里找"导出"
ok = locate_click('export.png', region=(100, 100, 800, 600))
if ok:
pyautogui.hotkey('ctrl', 'shift', 's')
—— 需要"通用重试函数合集"吗?评论区回"要合集",我打包给你。
六、日常实战模板:一键导出日报(可照抄)
目标:打开系统 → 搜索关键词 → 点击导出 → 命名保存 → 弹窗提示。
思路:
. `hotkey('win','r')` 打开程序/路径,`write()` 输入并回车。
. `locate_click('search.png')` → `write('关键词')` → `press('enter')`。
. `locate_click('export.png')` → `write('日报_日期')` → `hotkey('ctrl','s')`。
贴士:把"日期"做成变量,用 time.strftime('%Y-%m-%d') 自动命名。
—— 你的软件是哪个?评论"软件名 + 要点击的按钮",我给你出专属清单。
七、安全与合规(一定要看)
勿用于违规场景(如游戏/风控敏感系统)。
先保存工作再跑脚本,`FAILSAFE=True` 随时急停。
别录屏/上传敏感信息;账号口令不要硬编码进脚本。
—— 你的工作里有哪些合规要求?留言关键词,我补充注意事项清单。
八、快速排错清单(收藏备用)
安装报错:检查 Python 版本、虚拟环境、管理员权限。
找不到图:核对路径、素材清晰度、窗口是否已置前。
失焦输入:先点击输入框,再 `write()`。
macOS 权限:勾选"辅助功能/屏幕录制"。
—— 把你遇到的报错贴评论,我会在清单里持续补充解法。