# PyAutoGUI - 跨平台 Python GUI 自动化(12.5k⭐) > 用 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 | 图像功能必需 | ## 快速开始 ```bash pip install pyautogui ``` ```python 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 的软件界面操控 - 游戏/工具的简单脚本 --- **分类**:软件 **标签**:Python · 自动化 · PyAutoGUI **作者**:Xiao.Xi **链接**:https://octohz.com/p/1682