录一遍跑百遍:KeymouseGo 鼠标键盘录制回放简单教程
【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo
每天要把 Excel 里的数据逐行敲进网页表单,或者在新版本软件上线时于多台机器上重复点同一套界面,这类机械重复最耗时间。KeymouseGo 做的就是一件事:鼠标键盘录制回放——你操作一遍,它替你重放 N 遍,Windows、Linux、macOS 三个平台都能跑,下载即用。学完这篇,你能装好它、录下第一段脚本、用命令行批量回放,还会改脚本里的坐标和延迟。
最快路径:双击打包版跑通第一段脚本
不想折腾环境,就选打包版:从项目 release 页下载可执行文件,双击KeymouseGo直接运行,不用装 Python。源码运行一句话带过:Python 3.7+ 装好 requirements-universal.txt(Windows 换 requirements-windows.txt),运行KeymouseGo.py即可。
跑通第一段脚本只需四步:
- 打开程序,点录制按钮,开始记录;
- 正常操作一次任务:点软件、点按钮、敲几个字都行;
- 点结束,停止录制;
- 设好执行次数,点启动(或直接按
F6),电脑立刻开始重放。
每录完一段,脚本会自动存进scripts/目录,文件名带时间戳。下面这张主界面截图里,录制、启动按钮和热键设置区都看得很清楚:
核心能力拆解:怎么录、怎么批量跑、脚本长什么样
录制:一次操作,四个按钮搞定
把它想成一台磁带机:按下录制,你的动作被原样记下来;按下播放,电脑替你重放。注意两个细节:录制时只记点击和按键,不记鼠标移动的完整轨迹;F6启动脚本,F9随时中止正在跑的任务,跑批时手可以一直离开鼠标。
批量回放:-rt 参数指定执行次数
跑批任务连界面都不用开。命令行直接执行脚本,-rt(全称--runtimes)指定次数,填0就是无限循环:
./KeymouseGo scripts/0314_1452.txt ./KeymouseGo scripts/0314_1452.txt -rt 3脚本长什么样:json5 事件列表
脚本是json5格式(支持注释和省略引号的轻量 JSON),就是一份事件列表,一行一个动作:
{ scripts: [ {type: "event", event_type: "EM", delay: 100, action_type: "mouse left down", action: ["0.2604%", "0.4630%"]}, {type: "event", event_type: "EM", delay: 100, action_type: "mouse left up", action: ["0.3125%", "0.5556%"]}, {type: "event", event_type: "EK", delay: 100, action_type: "key down", action: [70, 'F', 0]}, {type: "event", event_type: "EX", delay: 100, action_type: "input", action: "你好 world"} ] }delay是距上一个事件间隔的毫秒数,action_type是具体动作(左键按下、按键抬起、输入文字),action是坐标或按键值。字段全表可以在README.md的"脚本语法说明"一节查到。
为什么换分辨率也能点中:相对坐标与平台实现
三大平台底层各走各路,但上层体验一致:
| 平台 | 底层实现 | 特点 |
|---|---|---|
| Windows | Win32 API 钩子 | 高精度,DPI 感知 |
| Linux | pynput 库 | 基于 X11 / Wayland |
| macOS | pynput 库 | 基于 Quartz 事件 |
- 相对坐标:录制时把像素坐标除以屏幕宽高,存成百分比;回放时再乘当前屏幕尺寸还原。原理一句话:坐标存比例不存像素。对你的影响:换分辨率的机器回放,落点照样准。
- DPI 处理:Windows 端用
SetProcessDPIAware()声明 DPI 感知,并用mouse_event归一化坐标(0~65535 区间)模拟移动。对你的影响:大部分显示缩放造成的落点漂移被规避掉了。
铁律:换新机器跑脚本前,先确认录制机和回放机的显示缩放比例一致,这是防偏移最稳妥的做法。
避坑与进阶:权限、偏移、速度与热键
问:录制不完整,鼠标事件时有丢失?答:多半是权限不够。用管理员身份(Windows)或 root 身份(Linux)运行 KeymouseGo,一般就能录全。
问:换台机器回放,点击位置整体偏移?答:先对比两台机器的显示缩放比例。保持完全一致后再跑,多数偏移能直接解决。
问:回放时鼠标"飞"过去或跟不上?答:程序执行速度有上限,你录的时候鼠标动得太快,它就还原不了。放慢操作再录一遍即可。
问:热键设置好像没生效?答:热键里的Middle是鼠标中键、XButton是鼠标侧键。配置前确认它们没和系统级快捷键撞车。
问:想让脚本在鼠标当前位置执行,不指定坐标?答:把坐标写成[-1, -1],脚本会在原地执行。
进阶能力在插件上。核心是微内核设计:内核只管录制回放,其余功能全部以插件挂进来。插件放在plugins/目录,每个插件一个文件夹,内含manifest.json5清单;开发侧继承 Plugin/ 目录里Interface.py的接口、实现函数注册方法,管理器启动时自动扫描加载、支持热加载。想加 OCR、网络请求、条件判断这类能力,从官方 wiki 的插件文档入手。
现在就挑一段 30 秒左右的重复操作录下来,设好次数按F6,看电脑替你跑一遍。然后打开scripts/里刚生成的脚本,改一个坐标、调一个延迟,再按F6验证——五分钟内,你就能完整体验一次"录一遍、跑 N 遍"。
【免费下载链接】KeymouseGo类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考