![[特殊字符]️ 办公自动化神器:高性能鼠标录制回放工具(支持平滑轨迹+热键控制)](http://pic.xiahunao.cn/yaotu/[特殊字符]️ 办公自动化神器:高性能鼠标录制回放工具(支持平滑轨迹+热键控制))
在日常办公、游戏脚本测试或重复性操作中频繁点击鼠标往往让人疲惫不堪。今天给大家带来一款自研的 Python 鼠标自动化工具支持高精度录制、贝塞尔曲线平滑回放、热键控制、脚本管理等功能完全开源适合二次开发。 项目简介这是一个基于tkinterpynputpyautogui开发的桌面级鼠标自动化工具核心特性包括✅鼠标移动 / 点击 / 键盘按键录制✅贝塞尔曲线插值轨迹丝滑自然✅多档回放速度0.5x ~ 20x✅无限循环 自定义间隔✅F8/F9/F10 全局热键控制✅脚本保存 / 加载 / 编辑 / 导出为 Python✅实时性能监控CPU / 内存✅紧急停止鼠标移至左上角️ 界面预览 办公自动化鼠标工具 v2.0 ├── 脚本管理 ├── 录制控制F8 ├── ▶️ 回放设置F9/F10 ├── 脚本内容预览 └── ⚡ 性能监控界面简洁直观无需命令行小白也能轻松上手。 核心技术解析1️⃣ 贝塞尔曲线平滑移动重点传统鼠标回放往往是“跳变式”的不够自然。本工具采用二次贝塞尔曲线插值算法staticmethod def bezier_interpolation(p0, p1, steps12): dx, dy x1 - x0, y1 - y0 control_x (x0 x1) / 2 - dy * 0.1 control_y (y0 y1) / 2 dx * 0.1通过动态控制点模拟人手微颤效果回放轨迹更加真实、顺滑。2️⃣ 高精度回放纳秒级start_time time.perf_counter_ns() / 1e9 while time.perf_counter_ns() / 1e9 target_time: pass相比time.sleep()使用perf_counter_ns实现微秒级等待避免累计误差特别适合高频操作场景。3️⃣ 多线程 线程安全设计录制 / 回放 / 性能监控分别运行在独立线程使用threading.Lock和threading.EventUI 更新统一通过root.after()避免 Tkinter 线程冲突4️⃣ 智能事件过滤if dist 3: return录制时自动过滤微小抖动减少无效事件提升回放效率。️ 安装依赖pip install pynput pyautogui psutil pillow⚠️ 注意Windows 用户建议以管理员权限运行macOS 需在「辅助功能」中授权终端/IDE。 快速使用1️⃣ 启动程序python mouse_recorder.py2️⃣ 录制操作按F8 或点击「开始录制」执行鼠标 / 键盘操作再次按F8 停止3️⃣ 回放操作设置回放速度与循环模式按F9 开始回放F10 暂停 / 继续再次F9 停止4️⃣ 脚本管理 保存为.mrs脚本文件 加载已有脚本✏️ 直接编辑 JSON 事件 导出为独立.py脚本 实用场景场景用途办公自动化Excel 批量点击、表单填写游戏辅助挂机任务、重复刷怪软件测试UI 自动化回归测试教学演示自动演示操作流程RPA 原型快速验证自动化流程 安全机制✅ 鼠标移至屏幕左上角 → 紧急停止✅ 录制最长 5 分钟自动终止✅ 事件坐标合法性校验✅ 异常捕获 UI 友好提示 导出 Python 脚本示例导出的脚本可直接运行不依赖 GUIimport pyautogui import time actions [ (move, 100, 200, 0.5, None), (click, 100, 200, 0.0, left), ] for action_type, x, y, delay, param in actions: time.sleep(delay) if action_type move: pyautogui.moveTo(x, y)非常适合嵌入到更大的自动化系统中。 可扩展方向 加入 OCR / 图像识别OpenCV 支持条件判断if 颜色 / 文本存在 增加鼠标滚轮录制 打包为 exePyInstaller 添加插件系统 总结这款工具从工程实用性出发兼顾了性能、稳定性与用户体验。无论你是办公族、测试工程师还是 Python 爱好者都能从中受益。如果你喜欢这个项目欢迎Star / Fork / 提 Issue 也欢迎在评论区分享你的使用场景 源码获取 完整代码已贴出见正文 CSDN 同步发布欢迎关注我的博客获取更多自动化实战内容关键词Python 自动化、鼠标录制、pynput、pyautogui、RPA、Tkinter、贝塞尔曲线、办公效率需要我为你补充打包成 exe 的教程、GitHub README或增加图像识别功能吗欢迎继续交流