首页
/ 最速开发指南:KeymouseGo自动化脚本生成与测试全流程

最速开发指南:KeymouseGo自动化脚本生成与测试全流程

2026-02-05 04:56:50作者:舒璇辛Bertina

你是否还在为重复性的鼠标点击、键盘输入操作浪费时间?KeymouseGo作为一款轻量级自动化工具,能帮你录制并复现各类操作,彻底解放双手。本文将带你掌握从环境搭建到脚本调试的完整流程,5分钟即可上手自动化任务。

核心功能与架构概览

KeymouseGo是一款类似按键精灵的自动化工具,支持跨平台鼠标键盘录制与回放。通过KeymouseGo.py主程序协调,采用分层架构设计:

KeymouseGo界面预览

环境准备与安装

快速启动(推荐)

无需安装Python,直接从发布页面下载对应系统的可执行文件,双击KeymouseGo即可运行。

源码编译

适合开发调试或自定义功能:

# 克隆仓库
git clone https://gitcode.com/gh_mirrors/ke/KeymouseGo.git
cd KeymouseGo

# 安装依赖
# Windows系统
pip install -r requirements-windows.txt
# Linux/Mac系统
pip3 install -r requirements-universal.txt

# 打包可执行文件
pyinstaller -F -w --add-data "./assets;assets" KeymouseGo.py

编译后的程序位于dist目录下。

脚本录制与生成

基础录制流程

  1. 点击主界面"录制"按钮开始记录操作
  2. 执行需要自动化的操作(鼠标点击、键盘输入等)
  3. 点击"结束"按钮完成录制,脚本自动保存至scripts目录

录制原理:Recorder/UniversalRecorder.py通过pynput库监听系统事件,将绝对坐标转换为相对百分比:

# 坐标转换核心代码
tx = x / SW  # SW=屏幕宽度
ty = y / SH  # SH=屏幕高度
tpos = (tx, ty)  # 相对坐标存储

脚本文件结构

每次录制生成的JSON5格式脚本位于scripts目录,文件名格式为日期_时间.txt。示例结构:

{
  scripts: [
    {type: "event", event_type: "EM", delay: 3000, 
     action_type: "mouse left down", action: ["0.05208%", "0.1852%"]},
    {type: "event", event_type: "EK", delay: 100, 
     action_type: "key down", action: [70, 'F', 0]}
  ]
}

每个事件包含延迟时间、事件类型和操作参数,支持鼠标点击、键盘输入和文本输入等类型。

脚本执行与调试

基本执行方法

  • 图形界面:选择脚本文件,设置重复次数(0为无限循环),点击"启动"
  • 命令行模式
    # 直接运行脚本
    ./KeymouseGo scripts/0314_1452.txt
    # 运行3次
    ./KeymouseGo scripts/0314_1452.txt -rt 3
    

执行流程由Util/RunScriptClass.py控制,支持暂停/继续、热键控制(默认F6启动,F9停止)。

高级调试技巧

  1. 脚本编辑:直接修改scripts目录下的JSON5文件,调整delay参数控制执行速度
  2. 事件类型:支持的鼠标事件类型包括:
    • mouse left down/mouse left up(左键点击)
    • mouse right down/mouse right up(右键点击)
    • mouse wheel up/mouse wheel down(滚轮)
  3. 文本输入:使用event_type: "EX"action_type: "input"
    {type: "event", event_type: "EX", delay: 100, 
     action_type: "input", action: "你好 world"}
    

常见问题解决方案

坐标偏移问题

若脚本在不同分辨率屏幕上执行偏差,可手动调整相对坐标值。原理见Event/UniversalEvents.py

# 相对坐标转绝对坐标
if isinstance(x, float):
    x = int(x * SW)  # SW=当前屏幕宽度
if isinstance(y, float):
    y = int(y * SH)  # SH=当前屏幕高度

执行权限问题

  • Linux:需要root权限捕获全局事件
  • Mac:需在"系统偏好设置>安全性与隐私>辅助功能"中添加程序权限
  • Windows:部分应用需以管理员身份运行KeymouseGo

高级应用与扩展

脚本语法进阶

支持条件判断、循环和标签跳转等高级功能:

{type: "if", judge: "file_exists('data.txt')",
 do: [{"type": "event", ...}],
 else: [{"type": "event", ...}]}

插件开发

通过Plugin/Interface.py扩展功能,支持自定义判断条件和动作。插件系统允许添加:

  • 自定义判断逻辑(如文件存在检测、窗口状态判断)
  • 扩展动作类型(如网络请求、文件操作)

总结与资源

KeymouseGo提供了轻量级yet强大的自动化解决方案,从简单的点击录制到复杂的条件脚本,满足各种自动化需求。完整文档参见README.md,包含更多高级功能和示例。

实用资源

收藏本文,关注项目更新,下期将带来"KeymouseGo脚本高级技巧:条件执行与循环控制"。

登录后查看全文
热门项目推荐
相关项目推荐