pyautogui-automation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePyAutoGUI 自动化操作
PyAutoGUI 自动化操作
功能概览
功能概览
| 功能类别 | 支持的操作 |
|---|---|
| 截图 | 全屏截图、区域截图、截图到剪贴板 |
| 鼠标控制 | 点击、双击、移动、相对移动、拖拽、滚动、按下/释放 |
| 颜色操作 | 获取像素颜色、查找颜色位置 |
| 键盘操作 | 输入文本、按键、组合键、快捷操作(复制/粘贴/全选等) |
| 图像识别 | 在屏幕上查找图片位置、等待图片出现/消失 |
| 对话框 | 警告、确认、输入对话框 |
| 系统信息 | 屏幕分辨率、鼠标位置、窗口信息 |
| 工具 | 等待、暂停 |
| 功能类别 | 支持的操作 |
|---|---|
| 截图 | 全屏截图、区域截图、截图到剪贴板 |
| 鼠标控制 | 点击、双击、移动、相对移动、拖拽、滚动、按下/释放 |
| 颜色操作 | 获取像素颜色、查找颜色位置 |
| 键盘操作 | 输入文本、按键、组合键、快捷操作(复制/粘贴/全选等) |
| 图像识别 | 在屏幕上查找图片位置、等待图片出现/消失 |
| 对话框 | 警告、确认、输入对话框 |
| 系统信息 | 屏幕分辨率、鼠标位置、窗口信息 |
| 工具 | 等待、暂停 |
快速开始
快速开始
基本使用模式
基本使用模式
bash
python scripts/automation.py <action> [参数...]所有操作返回 JSON 格式结果。
脚本位置: scripts/automation.py
bash
python scripts/automation.py <action> [参数...]所有操作返回 JSON 格式结果。
脚本位置: scripts/automation.py
操作详解
操作详解
截图
截图
bash
undefinedbash
undefined全屏截图(自动生成文件名)
全屏截图(自动生成文件名)
python scripts/automation.py screenshot
python scripts/automation.py screenshot
指定输出路径
指定输出路径
python scripts/automation.py screenshot --output my_screenshot.png
python scripts/automation.py screenshot --output my_screenshot.png
区域截图
区域截图
python scripts/automation.py screenshot --output region.png --region 100,100,400,300
python scripts/automation.py screenshot --output region.png --region 100,100,400,300
截图到剪贴板(需要安装 pywin32)
截图到剪贴板(需要安装 pywin32)
python scripts/automation.py screenshot_to_clipboard
python scripts/automation.py screenshot_to_clipboard --region 100,100,400,300
undefinedpython scripts/automation.py screenshot_to_clipboard
python scripts/automation.py screenshot_to_clipboard --region 100,100,400,300
undefined鼠标点击
鼠标点击
bash
undefinedbash
undefined左键单击坐标 (100, 200)
左键单击坐标 (100, 200)
python scripts/automation.py click --x 100 --y 200
python scripts/automation.py click --x 100 --y 200
右键双击
右键双击
python scripts/automation.py click --x 100 --y 200 --button right --clicks 2
python scripts/automation.py click --x 100 --y 200 --button right --clicks 2
快捷双击
快捷双击
python scripts/automation.py double_click --x 100 --y 200
undefinedpython scripts/automation.py double_click --x 100 --y 200
undefined颜色操作
颜色操作
bash
undefinedbash
undefined获取指定坐标的颜色
获取指定坐标的颜色
python scripts/automation.py get_pixel_color --x 100 --y 200
python scripts/automation.py get_pixel_color --x 100 --y 200
返回: {"rgb": [255, 255, 255], "hex": "#ffffff"}
返回: {"rgb": [255, 255, 255], "hex": "#ffffff"}
查找颜色位置(精确匹配)
查找颜色位置(精确匹配)
python scripts/automation.py find_color --rgb 255,255,255
python scripts/automation.py find_color --rgb 255,255,255
查找颜色(带容差)
查找颜色(带容差)
python scripts/automation.py find_color --rgb 255,255,255 --tolerance 10
python scripts/automation.py find_color --rgb 255,255,255 --tolerance 10
在指定区域查找
在指定区域查找
python scripts/automation.py find_color --rgb 255,0,0 --region 0,0,800,600
undefinedpython scripts/automation.py find_color --rgb 255,0,0 --region 0,0,800,600
undefined鼠标控制
鼠标控制
bash
undefinedbash
undefined获取当前鼠标位置
获取当前鼠标位置
python scripts/automation.py get_mouse_position
python scripts/automation.py get_mouse_position
移动鼠标(瞬间)
移动鼠标(瞬间)
python scripts/automation.py move_mouse --x 500 --y 300
python scripts/automation.py move_mouse --x 500 --y 300
移动鼠标(动画效果,0.5秒)
移动鼠标(动画效果,0.5秒)
python scripts/automation.py move_mouse --x 500 --y 300 --duration 0.5
python scripts/automation.py move_mouse --x 500 --y 300 --duration 0.5
相对当前位置移动鼠标
相对当前位置移动鼠标
python scripts/automation.py move_mouse_rel --x 100 --y -50
python scripts/automation.py move_mouse_rel --x 100 --y -50 --duration 0.5
python scripts/automation.py move_mouse_rel --x 100 --y -50
python scripts/automation.py move_mouse_rel --x 100 --y -50 --duration 0.5
拖拽鼠标
拖拽鼠标
python scripts/automation.py drag_mouse --x 800 --y 600 --duration 1.0
python scripts/automation.py drag_mouse --x 800 --y 600 --duration 1.0
鼠标按下(不释放)
鼠标按下(不释放)
python scripts/automation.py mouse_down --button left
python scripts/automation.py mouse_down --button left
鼠标释放
鼠标释放
python scripts/automation.py mouse_up --button left
python scripts/automation.py mouse_up --button left
滚动(正数向上,负数向下)
滚动(正数向上,负数向下)
python scripts/automation.py scroll --amount 500
python scripts/automation.py scroll --amount -500 --x 500 --y 300
undefinedpython scripts/automation.py scroll --amount 500
python scripts/automation.py scroll --amount -500 --x 500 --y 300
undefined屏幕信息
屏幕信息
bash
undefinedbash
undefined获取屏幕分辨率
获取屏幕分辨率
python scripts/automation.py get_screen_size
python scripts/automation.py get_screen_size
返回: {"width": 1920, "height": 1080}
返回: {"width": 1920, "height": 1080}
获取当前活动窗口信息(需要安装 pywin32)
获取当前活动窗口信息(需要安装 pywin32)
python scripts/automation.py get_active_window
python scripts/automation.py get_active_window
返回: {"title": "窗口标题", "left": 100, "top": 100, "width": 800, "height": 600}
返回: {"title": "窗口标题", "left": 100, "top": 100, "width": 800, "height": 600}
获取所有可见窗口列表(需要安装 pywin32)
获取所有可见窗口列表(需要安装 pywin32)
python scripts/automation.py get_all_windows
python scripts/automation.py get_all_windows
返回: {"count": 5, "windows": [...]}
返回: {"count": 5, "windows": [...]}
undefinedundefined等待
等待
bash
undefinedbash
undefined等待 2 秒
等待 2 秒
python scripts/automation.py sleep --seconds 2
undefinedpython scripts/automation.py sleep --seconds 2
undefined键盘操作
键盘操作
bash
undefinedbash
undefined输入文本
输入文本
python scripts/automation.py type_text --text "Hello World"
python scripts/automation.py type_text --text "Hello World"
输入文本(带间隔)
输入文本(带间隔)
python scripts/automation.py type_text --text "Hello" --interval 0.1
python scripts/automation.py type_text --text "Hello" --interval 0.1
按下按键
按下按键
python scripts/automation.py press_key --key enter
python scripts/automation.py press_key --key esc
python scripts/automation.py press_key --key enter
python scripts/automation.py press_key --key esc
组合键
组合键
python scripts/automation.py hotkey --keys ctrl,c
python scripts/automation.py hotkey --keys ctrl,shift,esc
python scripts/automation.py hotkey --keys ctrl,c
python scripts/automation.py hotkey --keys ctrl,shift,esc
快捷操作
快捷操作
python scripts/automation.py copy # Ctrl+C
python scripts/automation.py paste # Ctrl+V
python scripts/automation.py cut # Ctrl+X
python scripts/automation.py select_all # Ctrl+A
python scripts/automation.py undo # Ctrl+Z
python scripts/automation.py redo # Ctrl+Y
python scripts/automation.py save # Ctrl+S
常用按键名称: `enter`, `esc`, `tab`, `space`, `backspace`, `delete`, `up`, `down`, `left`, `right`, `f1`-`f12`, `ctrl`, `alt`, `shift`, `win`python scripts/automation.py copy # Ctrl+C
python scripts/automation.py paste # Ctrl+V
python scripts/automation.py cut # Ctrl+X
python scripts/automation.py select_all # Ctrl+A
python scripts/automation.py undo # Ctrl+Z
python scripts/automation.py redo # Ctrl+Y
python scripts/automation.py save # Ctrl+S
常用按键名称: `enter`, `esc`, `tab`, `space`, `backspace`, `delete`, `up`, `down`, `left`, `right`, `f1`-`f12`, `ctrl`, `alt`, `shift`, `win`图像识别
图像识别
需要安装 opencv-python 以使用 confidence 参数:
bash
undefined需要安装 opencv-python 以使用 confidence 参数:
bash
undefined查找图片位置
查找图片位置
python scripts/automation.py locate_on_screen --image button.png
python scripts/automation.py locate_on_screen --image button.png
使用置信度(需要 opencv-python)
使用置信度(需要 opencv-python)
python scripts/automation.py locate_on_screen --image button.png --confidence 0.9
python scripts/automation.py locate_on_screen --image button.png --confidence 0.9
在指定区域查找
在指定区域查找
python scripts/automation.py locate_on_screen --image button.png --region 0,0,800,600
python scripts/automation.py locate_on_screen --image button.png --region 0,0,800,600
查找所有匹配位置
查找所有匹配位置
python scripts/automation.py locate_all_on_screen --image icon.png
python scripts/automation.py locate_all_on_screen --image icon.png
等待图片出现(最多等待10秒)
等待图片出现(最多等待10秒)
python scripts/automation.py wait_for_image --image button.png --timeout 10
python scripts/automation.py wait_for_image --image button.png --timeout 10
等待图片出现(自定义检查间隔)
等待图片出现(自定义检查间隔)
python scripts/automation.py wait_for_image --image loading.png --timeout 30 --wait_interval 1
python scripts/automation.py wait_for_image --image loading.png --timeout 30 --wait_interval 1
等待图片消失
等待图片消失
python scripts/automation.py wait_for_image_to_vanish --image loading.png --timeout 30
undefinedpython scripts/automation.py wait_for_image_to_vanish --image loading.png --timeout 30
undefined对话框
对话框
bash
undefinedbash
undefined警告对话框
警告对话框
python scripts/automation.py alert --title "提示" --text "操作完成"
python scripts/automation.py alert --title "提示" --text "操作完成"
确认对话框
确认对话框
python scripts/automation.py confirm --title "确认" --text "是否继续?"
python scripts/automation.py confirm --title "确认" --text "是否继续?"
自定义按钮
自定义按钮
python scripts/automation.py confirm --title "选择" --text "请选择操作" --buttons "保存,不保存,取消"
python scripts/automation.py confirm --title "选择" --text "请选择操作" --buttons "保存,不保存,取消"
输入对话框
输入对话框
python scripts/automation.py prompt --title "输入" --text "请输入名称:" --default "默认值"
undefinedpython scripts/automation.py prompt --title "输入" --text "请输入名称:" --default "默认值"
undefined安全设置
安全设置
脚本已启用以下安全保护:
- FAILSAFE: 将鼠标快速移动到屏幕左上角会触发异常停止
- PAUSE: 每个操作后有 0.1 秒默认暂停
脚本已启用以下安全保护:
- FAILSAFE: 将鼠标快速移动到屏幕左上角会触发异常停止
- PAUSE: 每个操作后有 0.1 秒默认暂停
完整示例
完整示例
自动化登录流程
自动化登录流程
bash
undefinedbash
undefined1. 截图记录初始状态
1. 截图记录初始状态
python scripts/automation.py screenshot --output login_start.png
python scripts/automation.py screenshot --output login_start.png
2. 点击用户名输入框
2. 点击用户名输入框
python scripts/automation.py click --x 500 --y 300
python scripts/automation.py click --x 500 --y 300
3. 输入用户名
3. 输入用户名
python scripts/automation.py type_text --text "myusername"
python scripts/automation.py type_text --text "myusername"
4. 按 Tab 切换到密码框
4. 按 Tab 切换到密码框
python scripts/automation.py press_key --key tab
python scripts/automation.py press_key --key tab
5. 输入密码
5. 输入密码
python scripts/automation.py type_text --text "mypassword"
python scripts/automation.py type_text --text "mypassword"
6. 点击登录按钮
6. 点击登录按钮
python scripts/automation.py click --x 500 --y 400
python scripts/automation.py click --x 500 --y 400
7. 等待页面加载
7. 等待页面加载
python scripts/automation.py sleep --seconds 3
python scripts/automation.py sleep --seconds 3
8. 截图记录结果
8. 截图记录结果
python scripts/automation.py screenshot --output login_end.png
undefinedpython scripts/automation.py screenshot --output login_end.png
undefined颜色检测自动化
颜色检测自动化
bash
undefinedbash
undefined检测特定位置颜色并执行操作
检测特定位置颜色并执行操作
color=$(python scripts/automation.py get_pixel_color --x 100 --y 100)
color=$(python scripts/automation.py get_pixel_color --x 100 --y 100)
解析 JSON 判断颜色后执行相应操作
解析 JSON 判断颜色后执行相应操作
undefinedundefined图像定位点击
图像定位点击
bash
undefinedbash
undefined查找按钮并点击
查找按钮并点击
result=$(python scripts/automation.py locate_on_screen --image submit_button.png --confidence 0.9)
result=$(python scripts/automation.py locate_on_screen --image submit_button.png --confidence 0.9)
从结果中提取 center_x, center_y 并点击
从结果中提取 center_x, center_y 并点击
undefinedundefined依赖安装
依赖安装
脚本会自动安装必需的依赖:
- : 核心自动化库
pyautogui - : 图像处理
pillow
可选依赖(用于图像识别置信度):
bash
pip install opencv-python脚本会自动安装必需的依赖:
- : 核心自动化库
pyautogui - : 图像处理
pillow
可选依赖(用于图像识别置信度):
bash
pip install opencv-python资源索引
资源索引
- automation.py - 主入口脚本
- utils.py - 公共工具函数
- mouse.py - 鼠标操作
- keyboard.py - 键盘操作
- screen.py - 截图和图像识别
- color.py - 颜色检测
- dialog.py - 对话框操作
- system.py - 系统信息
- automation.py - 主入口脚本
- utils.py - 公共工具函数
- mouse.py - 鼠标操作
- keyboard.py - 键盘操作
- screen.py - 截图和图像识别
- color.py - 颜色检测
- dialog.py - 对话框操作
- system.py - 系统信息
注意事项
注意事项
- 坐标系: 屏幕左上角为原点 (0, 0),向右为 X 增加,向下为 Y 增加
- 权限: Windows 上可能需要以管理员权限运行某些操作
- 分辨率: 多显示器环境下,坐标可能跨越多个屏幕
- 图像识别: 受屏幕分辨率和缩放比例影响,建议使用 confidence 参数提高鲁棒性
- 坐标系: 屏幕左上角为原点 (0, 0),向右为 X 增加,向下为 Y 增加
- 权限: Windows 上可能需要以管理员权限运行某些操作
- 分辨率: 多显示器环境下,坐标可能跨越多个屏幕
- 图像识别: 受屏幕分辨率和缩放比例影响,建议使用 confidence 参数提高鲁棒性
快速参考表
快速参考表
| 用户输入 | AI 行动 |
|---|---|
| "xxx" | 直接执行 xxx |
| 用户输入 | AI 行动 |
|---|---|
| "xxx" | 直接执行 xxx |