news 2026/8/21 19:52:57

3 分钟上手 GUI 自动化:Pywinauto Recorder 把点击变成可回放的 Python 代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3 分钟上手 GUI 自动化:Pywinauto Recorder 把点击变成可回放的 Python 代码

3 分钟上手 GUI 自动化:Pywinauto Recorder 把点击变成可回放的 Python 代码

【免费下载链接】pywinauto_recorderA record-replay tool to automate GUI via pywinauto项目地址: https://gitcode.com/gh_mirrors/py/pywinauto_recorder

你还在用鼠标坐标写 UI 自动化吗?窗口一挪,脚本就废了。

Pywinauto Recorder 是一款面向 Windows 用户的 UI 自动化录制工具。它把你的点击、输入动作录下来,直接转成 Python 脚本,免去手写定位代码的麻烦。

为什么基于坐标的自动化脚本一改布局就废 📌

很多 GUI 自动化脚本开头是这样的:点 (437, 216),再点 (512, 88)。

问题就出在这里。分辨率一变、窗口一拖、主题一换,这些坐标全部作废。

更麻烦的是,定位每个控件还得手动写属性匹配代码,又长又难读。

Pywinauto Recorder 的做法不同:你正常操作一遍界面,它替你记下每个控件是谁、叫什么,再生成对应的 Python 代码。脚本里看不到一堆硬编码坐标。

它依赖 Pywinauto 库的无障碍技术,覆盖面很广,支持这些 GUI 框架:

  • MFC
  • VB6
  • VCL
  • WinForms
  • WPF
  • Store Apps
  • Qt
  • 浏览器

三行命令装好录音器 ⚡

先确认你的环境装了 Python,3.8 或更高版本即可。

然后按下面三条命令操作,任选前两条之一:

  1. 克隆仓库,拿到项目源码:
git clone https://gitcode.com/gh_mirrors/py/pywinauto_recorder cd pywinauto_recorder
  1. 或者直接从 PyPI 安装发布包,一步到位:
pip install pywinauto-recorder
  1. 启动录音器。源码方式用python pywinauto_recorder.py,包安装方式直接执行pywinauto-recorder

执行后录音器主界面会弹出来,进入信息展示状态,等待你开始录制。

第一次录制实操:点击如何变成 Python 代码 🎬

跟着下面的顺序做,全程不超过一分钟。

  1. 启动录音器,确认它处于就绪状态,准备开始捕获界面操作。
  2. 切换到目标程序,比如记事本或任意 Windows 应用,点击菜单栏的「文件」→「打开」。你会看到录音器在后台默默记下这次点击对应的控件。
  3. 在弹出的对话框里选好文件并确认。文件选择、输入框打字这类动作也会被完整记录。
  4. 按下 CTRL+SHIFT+F。此时生成的 Python 代码已经复制到剪贴板,粘贴到任意.py文件里就能回放你刚才的操作。

跑一下生成的脚本,你会看到程序重复执行了"文件→打开→确认"这一串动作。

要这么做,别那么做:让脚本更耐用的技巧 ✅

先说结论:生成的脚本基于无障碍树而非屏幕坐标。无障碍(UIA)就是操作系统提供的接口,程序靠它按控件的名称和层级找到每个按钮、输入框,而不是靠像素位置。所以分辨率变化、布局微调,通常不会导致脚本失效。

日常使用上,记住这组对照建议:

✅ 这么做❌ 别这么做
录制时操作连贯流畅,一次走完完整流程边录边东点西点、中途长时间停顿
生成后通读代码,用 Pywinauto 的方法补充断言和错误处理拿到代码直接照搬,不看内容
把脚本交给同事前先自己回放验证一遍在换过分辨率的新机器上不做测试就直接交付

配合 pytest 与 CI/CD 使用 🚀

项目采用 MIT 许可,商用项目里放心使用。

生成的脚本返回 Pywinauto 的控件包装对象,可以直接用 Pywinauto 的方法做断言和二次控制。

把回放逻辑包进函数,配合 pytest 或 unittest 就是现成的 GUI 测试套件,挂到 CI/CD 流水线上做回归也合适。

写在最后

打开录音器,点一次「文件→打开」,按 CTRL+SHIFT+F,你就拿到了第一段可靠的 GUI 自动化代码。

想深入了解配置项和高级用法,去翻项目里的 docs/ 目录和官方文档页面。

【免费下载链接】pywinauto_recorderA record-replay tool to automate GUI via pywinauto项目地址: https://gitcode.com/gh_mirrors/py/pywinauto_recorder

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 19:49:44

30天成为AI产品经理:从技术通识到实战的完整路线图

如果你是一名技术开发者,最近可能已经感受到了一个明显的变化:身边的“AI产品经理”突然多了起来。无论是公司内部的新岗位,, 还是招聘网站上激增的需求,都在传递一个信号:AI驱动的产品时代,对既…

作者头像 李华
网站建设 2026/8/21 19:48:27

第27章 视觉与激光SLAM

作者:一个在飞控坑里摸爬滚打了十多年的老兵 本课程面向有一定编程基础、对飞控算法感兴趣的同学,从零开始讲清楚飞控算法的每一个核心环节。 30章系统掌握无人机飞控算法——从传感器到控制、从姿态解算到SLAM 本课程从飞控算法概述出发,逐步讲解坐标系、传感器、姿态解算、…

作者头像 李华
网站建设 2026/8/21 19:47:42

群体智能驱动智慧城市安防:从单体AI到分布式协同决策的架构演进

1. 从单体智能到群体智能:城市安全监控的范式转移 最近在跟进几个智慧城市安防项目时,我发现一个挺有意思的现象:很多方案还在沿用“中心大脑”式的监控模式。简单来说,就是部署一堆高清摄像头,把海量视频流一股脑儿地…

作者头像 李华
网站建设 2026/8/21 19:44:20

模拟IC秋招通关指南:从企业视角拆解简历、笔试与面试核心

最近和几位模拟IC方向的学弟学妹交流,发现大家普遍对秋招感到焦虑。简历投出去石沉大海,笔试面试问题五花八门,总感觉准备不到点子上。企业到底在考察什么?是扎实的电路基础,还是某个特定方向的项目经验?今…

作者头像 李华