pyautogui-automation
基于 PyAutoGUI 的桌面自动化工具。支持截图、鼠标键盘控制、图像识别、颜色检测等操作。当用户需要自动化操作桌面应用、执行 UI 测试或重复性任务时触发。
npx skills add steelan9199/wechat-publisher --skill pyautogui-automationBefore / After 效果对比
0 组description 文档
name: pyautogui-automation description: 基于 PyAutoGUI 的桌面自动化工具。支持截图、鼠标键盘控制、图像识别、颜色检测等操作。当用户需要自动化操作桌面应用、执行 UI 测试或重复性任务时触发。
PyAutoGUI 自动化操作
功能概览
| 功能类别 | 支持的操作 | | -------- | ---------------------------------------------------- | | 截图 | 全屏截图、区域截图、截图到剪贴板 | | 鼠标控制 | 点击、双击、移动、相对移动、拖拽、滚动、按下/释放 | | 颜色操作 | 获取像素颜色、查找颜色位置 | | 键盘操作 | 输入文本、按键、组合键、快捷操作(复制/粘贴/全选等) | | 图像识别 | 在屏幕上查找图片位置、等待图片出现/消失 | | 对话框 | 警告、确认、输入对话框 | | 系统信息 | 屏幕分辨率、鼠标位置、窗口信息 | | 工具 | 等待、暂停 |
快速开始
基本使用模式
python scripts/automation.py <action> [参数...]
所有操作返回 JSON 格式结果。
脚本位置: scripts/automation.py
操作详解
截图
# 全屏截图(自动生成文件名)
python scripts/automation.py screenshot
# 指定输出路径
python scripts/automation.py screenshot --output my_screenshot.png
# 区域截图
python scripts/automation.py screenshot --output region.png --region 100,100,400,300
# 截图到剪贴板(需要安装 pywin32)
python scripts/automation.py screenshot_to_clipboard
python scripts/automation.py screenshot_to_clipboard --region 100,100,400,300
鼠标点击
# 左键单击坐标 (100, 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 double_click --x 100 --y 200
颜色操作
# 获取指定坐标的颜色
python scripts/automation.py get_pixel_color --x 100 --y 200
# 返回: {"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 --tolerance 10
# 在指定区域查找
python scripts/automation.py find_color --rgb 255,0,0 --region 0,0,800,600
鼠标控制
# 获取当前鼠标位置
python scripts/automation.py get_mouse_position
# 移动鼠标(瞬间)
python scripts/automation.py move_mouse --x 500 --y 300
# 移动鼠标(动画效果,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 drag_mouse --x 800 --y 600 --duration 1.0
# 鼠标按下(不释放)
python scripts/automation.py mouse_down --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
屏幕信息
# 获取屏幕分辨率
python scripts/automation.py get_screen_size
# 返回: {"width": 1920, "height": 1080}
# 获取当前活动窗口信息(需要安装 pywin32)
python scripts/automation.py get_active_window
# 返回: {"title": "窗口标题", "left": 100, "top": 100, "width": 800, "height": 600}
# 获取所有可见窗口列表(需要安装 pywin32)
python scripts/automation.py get_all_windows
# 返回: {"count": 5, "windows": [...]}
等待
# 等待 2 秒
python scripts/automation.py sleep --seconds 2
键盘操作
# 输入文本
python scripts/automation.py type_text --text "Hello World"
# 输入文本(带间隔)
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 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
图像识别
需要安装 opencv-python 以使用 confidence 参数:
# 查找图片位置
python scripts/automation.py locate_on_screen --image button.png
# 使用置信度(需要 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 --region 0,0,800,600
# 查找所有匹配位置
python scripts/automation.py locate_all_on_screen --image icon.png
# 等待图片出现(最多等待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_to_vanish --image loading.png --timeout 30
对话框
# 警告对话框
python scripts/automation.py alert --title "提示" --text "操作完成"
# 确认对话框
python scripts/automation.py confirm --title "确认" --text "是否继续?"
# 自定义按钮
python scripts/automation.py confirm --title "选择" --text "请选择操作" --buttons "保存,不保存,取消"
# 输入对话框
python scripts/automation.py prompt --title "输入" --text "请输入名称:" --default "默认值"
安全设置
脚本已启用以下安全保护:
- FAILSAFE: 将鼠标快速移动到屏幕左上角会触发异常停止
- PAUSE: 每个操作后有 0.1 秒默认暂停
完整示例
自动化登录流程
# 1. 截图记录初始状态
python scripts/automation.py screenshot --output login_start.png
# 2. 点击用户名输入框
python scripts/automation.py click --x 500 --y 300
# 3. 输入用户名
python scripts/automation.py type_text --text "myusername"
# 4. 按 Tab 切换到密码框
python scripts/automation.py press_key --key tab
# 5. 输入密码
python scripts/automation.py type_text --text "mypassword"
# 6. 点击登录按钮
python scripts/automation.py click --x 500 --y 400
# 7. 等待页面加载
python scripts/automation.py sleep --seconds 3
# 8. 截图记录结果
python scripts/automation.py screenshot --output login_end.png
颜色检测自动化
# 检测特定位置颜色并执行操作
color=$(python scripts/automation.py get_pixel_color --x 100 --y 100)
# 解析 JSON 判断颜色后执行相应操作
图像定位点击
# 查找按钮并点击
result=$(python scripts/automation.py locate_on_screen --image submit_button.png --confidence 0.9)
# 从结果中提取 center_x, center_y 并点击
依赖安装
脚本会自动安装必需的依赖:
pyautogui: 核心自动化库pillow: 图像处理
可选依赖(用于图像识别置信度):
pip install opencv-python
资源索引
- automation.py - 主入口脚本
- utils.py - 公共工具函数
- mouse.py - 鼠标操作
- keyboard.py - 键盘操作
- screen.py - 截图和图像识别
- color.py - 颜色检测
- dialog.py - 对话框操作
- system.py - 系统信息
注意事项
- 坐标系: 屏幕左上角为原点 (0, 0),向右为 X 增加,向下为 Y 增加
- 权限: Windows 上可能需要以管理员权限运行某些操作
- 分辨率: 多显示器环境下,坐标可能跨越多个屏幕
- 图像识别: 受屏幕分辨率和缩放比例影响,建议使用 confidence 参数提高鲁棒性
快速参考表
| 用户输入 | AI 行动 | | -------- | ------------ | | "xxx" | 直接执行 xxx |
forum用户评价 (0)
发表评价
暂无评价,来写第一条吧
统计数据
用户评分
为此 Skill 评分