SuperAPI AI Directory

pyautogui-automation

Testing & quality

View repository

Updated 10-15 15:51

About this skill

PyAutoGUI Automation Operations

Feature Overview

Feature Category Supported Operations
Screenshots Full-screen screenshot, region screenshot, screenshot to clipboard
Mouse Control Click, double-click, move, relative move, drag, scroll, press/release
Color Operations Get pixel color, find color position
Keyboard Operations Type text, press keys, key combinations, shortcut operations (copy/paste/select all, etc.)
Image Recognition Find image position on the screen, wait for an image to appear/disappear
Dialogs Alert, confirm, input dialogs
System Information Screen resolution, mouse position, window information
Tools Wait, pause

Quick Start

Basic Usage Pattern

python scripts/automation.py <action> [参数...]

All operations return results in JSON format.

Script Location: scripts/automation.py

Operation Details

Screenshots

# 全屏截图(自动生成文件名)
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

Mouse Click

# 左键单击坐标 (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

Color Operations

# 获取指定坐标的颜色
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

Mouse Control

# 获取当前鼠标位置
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

Screen Information

# 获取屏幕分辨率
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": [...]}

Wait

# 等待 2 秒
python scripts/automation.py sleep --seconds 2

Keyboard Operations

# 输入文本
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

Common key names: enter, esc, tab, space, backspace, delete, up, down, left, right, f1-f12, ctrl, alt, shift, win

Image Recognition

opencv-python needs to be installed to use the confidence parameter:

# 查找图片位置
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

Dialogs

# 警告对话框
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 "默认值"

Safety Settings

The script has enabled the following safety protections:

  • FAILSAFE: Quickly moving the mouse to the top-left corner of the screen triggers an emergency stop
  • PAUSE: There is a default pause of 0.1 seconds after each operation

Complete Examples

Automated Login Process

# 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 Detection Automation

# 检测特定位置颜色并执行操作
color=$(python scripts/automation.py get_pixel_color --x 100 --y 100)
# 解析 JSON 判断颜色后执行相应操作

Image Positioning Click

# 查找按钮并点击
result=$(python scripts/automation.py locate_on_screen --image submit_button.png --confidence 0.9)
# 从结果中提取 center_x, center_y 并点击

Dependency Installation

The script will automatically install the required dependencies:

  • pyautogui: Core automation library
  • pillow: Image processing

Optional dependency (for image recognition confidence):

pip install opencv-python

Resource Index

Notes

  1. Coordinate System: The top-left corner of the screen is the origin (0, 0), X increases to the right, and Y increases downward
  2. Permissions: On Windows, some operations may require administrator privileges
  3. Resolution: In multi-monitor environments, coordinates may span multiple screens
  4. Image Recognition: Affected by screen resolution and scaling, it is recommended to use the confidence parameter to improve robustness

Quick Reference Table

User Input AI Action
"xxx" Directly execute xxx