屏幕自动点击器是一个 Windows 本地工具。你可以把“识图、点击、滚动”组成流程,为每个步骤指定成功和失败后的去向。运行时,它在指定的屏幕区域截图,用 OpenCV 匹配图像,并通过 Windows 鼠标输入执行动作。
当前版本是可运行的原型,适合在固定分辨率、缩放比例和窗口位置下使用。它不依赖在线服务;尚不支持操作录制、OCR、后台点击或跨电脑自动适配。
| 功能 | 说明 |
|---|---|
| 🔎 区域识图 | 自定义模板、搜索区域、相似度阈值和识图超时 |
| 🖱️ 点击与滚动 | 点击固定坐标、识图匹配位置或预设坐标;按指定格数滚动 |
| 🔀 条件流程 | 每一步分别设置成功、失败去向,支持循环次数上限 |
| 🧭 可视化编辑 | 自上而下的流程图,判断节点和回路清晰可见,点击节点即可编辑 |
| 🛑 运行保护 | 校验屏幕、DPI、目标窗口位置和前台状态;ESC 可随时停止 |
| 📋 运行日志 | 界面实时显示结果,并在本机保存完整日志 |
左侧选择步骤,中间查看流程图,右侧修改所选步骤;下方是运行日志。识图步骤显示为判断菱形,成功与失败分支分别向下连接,回路沿侧边返回。
仓库只附带一个通用演示:查找“继续”按钮 → 点击它 → 确认按钮消失。它使用合成模板和占位窗口坐标,目的是演示配置格式,不能直接用于你的真实应用。
flowchart TD
A([开始]) --> B{找到“继续”按钮?}
B -- 成功 --> C[点击识图位置]
B -- 失败 --> E([结束])
C --> D{按钮已消失?}
D -- 成功 --> E
D -- 失败 --> E
首次启动时,程序会从 examples/ 复制通用示例,生成你本机的 workflow.json 和 config.json。它们以及 assets/ 中的个人模板都被 .gitignore 排除。之后的编辑和标定只影响你的本地文件,不会改动公开示例。
需要 Windows 10/11 和 Python 3.10+。在项目目录打开 CMD,依次运行:
py -3 -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txt
启动界面.cmd以后可以直接双击 启动界面.cmd。启动脚本优先使用 .venv;如果没有,则尝试 D:\anaconda3\python.exe,最后尝试 py -3。
- 用
tools/calibrate.py读取目标的物理屏幕坐标,并框选小范围识图区。 - 在界面的“识图配置”中新增区域、选择模板图片、填写识图范围和阈值。
- 添加识图、点击或滚动步骤,为每一步设置成功与失败后的下一步。
- 在流程图中核对分支和循环,设置循环次数上限,点击“保存”。
- 将目标窗口移到标定位置,点击“运行流程”;程序留出 3 秒供你切回目标窗口。运行时按 ESC 或点击“停止”可中止。
启动标定工具:
.venv\Scripts\python.exe tools\calibrate.py在预览图中点击会显示坐标,拖框会显示区域;按 S 保存裁剪图,按 Esc 退出。坐标、分辨率和窗口位置都需要按自己的电脑重新设置。请同时用“目标出现”和“目标未出现”的截图检查识图阈值。
程序日志中的“输入已发送”只表示 Windows 接受了模拟鼠标事件;目标程序是否完成操作,仍应由后续识图步骤验证。识图失败到达结束节点时,程序可能把失败区域截图保存在本地 debug/,方便排查。
| 路径 | 用途 |
|---|---|
gui.py |
图形界面、步骤编辑和流程图 |
workflow.py |
流程校验与执行 |
vision.py |
模板匹配辅助 |
input_win32.py、windows_target.py |
Windows 鼠标输入和目标窗口校验 |
local_project.py |
首次启动时生成本地配置 |
tools/calibrate.py |
坐标与识图区域标定 |
tests/ |
单元测试 |
运行测试:
.venv\Scripts\python.exe -m unittest discover -s tests -v