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 librarypillow: Image processing
Optional dependency (for image recognition confidence):
pip install opencv-python
Resource Index
- automation.py - Main entry script
- utils.py - Common utility functions
- mouse.py - Mouse operations
- keyboard.py - Keyboard operations
- screen.py - Screenshots and image recognition
- color.py - Color detection
- dialog.py - Dialog operations
- system.py - System information
Notes
- Coordinate System: The top-left corner of the screen is the origin (0, 0), X increases to the right, and Y increases downward
- Permissions: On Windows, some operations may require administrator privileges
- Resolution: In multi-monitor environments, coordinates may span multiple screens
- 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 |