
用 Python 控制鼠标键盘,截图识别+图像定位,三行代码实现桌面自动化,支持 Windows/macOS/Linux
PyAutoGUI 是什么?
一个跨平台的 GUI 自动化 Python 模块,通过编程方式控制鼠标和键盘。把 Windows/macOS/Linux 三大系统各自的底层控制机制封装成统一简洁的 API。
12.5k⭐ | BSD 许可 | 最新版 0.9.54 | 作者 Al Sweigart
核心功能
鼠标控制
moveTo(x, y)— 移动到指定坐标click()/doubleClick()/rightClick()— 各种点击dragTo()— 拖拽操作- 支持缓动/补间动画(tweening)
键盘控制
write('text')— 输入文字press('enter')— 按键hotkey('ctrl', 'c')— 组合键keyDown()/keyUp()— 按住/释放
屏幕截图 & 图像定位
screenshot()— 全屏截图locateOnScreen('btn.png')— 在屏幕上找匹配图像- 配合
click()实现图像识别自动化
安全机制
- 内置 fail-safe:鼠标移到屏幕左上角即中止
- 防止脚本失控
支持平台
| 平台 | 底层依赖 | 额外安装 |
|---|---|---|
| Windows | Win32 API (ctypes) | 无 |
| macOS | Cocoa API (rubicon-objc) | pyobjc |
| Linux | X11/Xlib | python3-xlib |
| 全平台 | Pillow | 图像功能必需 |
快速开始
pip install pyautogui
import pyautogui
# 获取屏幕尺寸
print(pyautogui.size())
# 移动鼠标并点击
pyautogui.click(500, 300)
# 输入文字
pyautogui.write('Hello World')
# 截图找图点击
location = pyautogui.locateOnScreen('button.png')
if location:
pyautogui.click(location)
适用场景
- 重复性桌面操作自动化(报表、数据录入)
- 软件测试中的 GUI 操作回放
- 无法获取 API 的软件界面操控
- 游戏/工具的简单脚本
暂无评论
