Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
steelan9199 avatar

Pyautogui Automation

  • 661 installs
  • 9 repo stars
  • Updated August 4, 2026
  • steelan9199/wechat-publisher

pyautogui-automation is an agent skill that generates PyAutoGUI Python scripts for desktop screenshots, mouse/keyboard control, image recognition, and UI test automation.

About

pyautogui-automation is an agent skill from steelan9199/wechat-publisher that documents PyAutoGUI-based desktop automation in Python across eight capability categories: screenshots, mouse control, color detection, keyboard input, image recognition, dialogs, system info, and wait utilities. The skill triggers when users need to automate desktop applications, run UI tests, or replace repetitive manual GUI interactions with scripts supporting full-screen and region captures, click/drag/scroll actions, hotkeys, and wait-for-image appear/disappear flows. Developers reach for pyautogui-automation when browser automation cannot reach native desktop apps such as WeChat publishing or legacy GUI tools.

  • Supports 8 functional categories including screenshots, mouse/keyboard control, image recognition, and color detection
  • CLI interface that returns structured JSON results for every action
  • Image recognition to locate and wait for UI elements on screen
  • Combines with agents to drive desktop apps that lack APIs
  • Hard-gate: review script output before chaining to next automation step

Pyautogui Automation by the numbers

  • 661 all-time installs (skills.sh)
  • +3 installs in the week ending Jul 27, 2026 (Skillselion tracking)
  • Ranked #363 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/steelan9199/wechat-publisher --skill pyautogui-automation

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs661
repo stars9
Security audit1 / 3 scanners passed
Last updatedAugust 4, 2026
Repositorysteelan9199/wechat-publisher

How do you automate desktop UI tasks with PyAutoGUI?

Control desktop applications, perform UI interactions, and automate repetitive manual tasks via Python scripts.

Who is it for?

Developers automating native desktop applications, GUI regression checks, or repetitive UI workflows where Selenium or Playwright cannot reach the target app.

Skip if: Web-only test suites or server-side API integration that do not require desktop screen control and pixel/image recognition.

When should I use this skill?

User asks to automate desktop apps, write PyAutoGUI scripts, perform UI testing with screenshots, or control mouse/keyboard on screen.

What you get

PyAutoGUI Python scripts, screen captures, image-locator automation flows, and keyboard/mouse interaction sequences.

  • PyAutoGUI automation script
  • Screenshot and image-locator test flows

By the numbers

  • Documents 8 PyAutoGUI capability categories in the skill overview table
  • Supports full-screen, region, and clipboard screenshot modes

Files

SKILL.mdMarkdownGitHub ↗

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 - 系统信息

注意事项

1. 坐标系: 屏幕左上角为原点 (0, 0),向右为 X 增加,向下为 Y 增加 2. 权限: Windows 上可能需要以管理员权限运行某些操作 3. 分辨率: 多显示器环境下,坐标可能跨越多个屏幕 4. 图像识别: 受屏幕分辨率和缩放比例影响,建议使用 confidence 参数提高鲁棒性

快速参考表

用户输入AI 行动
"xxx"直接执行 xxx

Related skills

How it compares

Pick pyautogui-automation over browser MCP tools when the target is a native desktop window requiring pixel or image-based GUI automation.

FAQ

What can pyautogui-automation control on desktop?

pyautogui-automation documents PyAutoGUI control of mouse clicks, drags, scrolls, keyboard input, hotkeys, pixel color reads, image find/wait, dialogs, and screen resolution queries across eight documented capability categories.

When should developers use pyautogui-automation?

pyautogui-automation applies when automating native desktop applications, running UI tests, or replacing repetitive manual GUI tasks—especially where browser-based automation tools cannot interact with the target window.

Is Pyautogui Automation safe to install?

skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.