当前位置:首页>python>Python 实战:从记事本入手,快速掌握 Windows 桌面端软件 UI 自动化的核心技术

Python 实战:从记事本入手,快速掌握 Windows 桌面端软件 UI 自动化的核心技术

  • 2026-10-21 13:29:09
Python 实战:从记事本入手,快速掌握 Windows 桌面端软件 UI 自动化的核心技术

前言

在日常工作中,我们经常需要处理一些桌面端的重复性操作:比如每天定时打开某个财务软件导出报表,自动登录打卡工具,或者批量处理一些没有提供 API 接口的旧款 ERP 系统。如果全靠人工手动点击,不仅效率低下,还容易出错。我们之前有介绍了一种方式,是采用模拟鼠标和键盘的方式,见文章PyAutoGUI 全面入门:用 Python 控制鼠标、键盘和屏幕,解放双手 。这次我们换一种库,也是能达到同样的效果,就是Python 里的 pywinauto 库,它可以轻松实现 Windows GUI 的自动化控制,极大地释放你的双手,提高效率。

pywinauto 简介

pywinauto 是一个强大的 Python 库,专门用于自动化 Windows 操作系统的图形界面。它通过模拟鼠标点击和键盘输入,可以直接与 Windows 窗口、按钮、菜单、编辑框等控件进行交互,他仅适用于windows系统。

在使用这个库时,有两个核心概念需要掌握:

  • • Backend(后端驱动):pywinauto 支持两种主要的访问技术:
    • • Win32 API (win32):适用于较老的程序(如记事本、MFC 软件)。
    • • MS UI Automation (uia):适用于较新的程序(如 WPF、Qt、浏览器、Windows 10/11 原生应用)。
  • • Application 对象:这是操作的入口,通过它来启动程序或连接已打开的程序。

安装 pywinauto

执行以下命令,进行安装:

pip install pywinauto

示例

这里我列举一个简单示例:自动打开 Windows 自带的“记事本”,输入一段文字,并自动保存到桌面。

import timefrom pywinauto.application import Application#启动记事本程序, 采用uia后端,因为Win10/11的记事本基于新框架app = Application(backend="uia").start("notepad.exe")#选中窗口 这里的 "无标题 - 记事本" 是窗口的标题名称dlg = app.window(title_re=".*记事本.*")#重点:打印当前窗口的所有中文字样和控件 IDdlg.print_control_identifiers()#输入内容 type_keys 会模拟键盘敲击dlg.child_window(auto_id="15", control_type="Edit").type_keys(    "你好 各位\r\n这里是 小海代码人生。",     with_spaces=True)#模拟快捷键 Ctrl+S 调出保存弹窗dlg.type_keys('^s')#在保存对话框中输入文件名并点击确认save_dlg = dlg.child_window(title="另存为", control_type="Window")# 等待窗口出现(解决 exists 为 False 的问题)save_dlg.wait('visible', timeout=5)#输入文件名save_dlg.child_window(auto_id="1001", control_type="Edit").set_edit_text("test_auto.txt")#点击保存按钮save_dlg.child_window(auto_id="1", control_type="Button").click()#使用close()模拟点击右上角的 Xdlg.close()print("自动化操作已完成!")

运行效果

启动程序后,你会发现电脑像被“远程操控”了一样,具体可以看视频:

已关注
关注
重播 分享 赞

这种方式比 pyautogui更高级的地方在于:它是基于控件 ID 或名称定位的。即使你移动了窗口位置,或者窗口大小发生了改变,pywinauto 依然能精准找到那个按钮。

总结

pywinauto 是 Windows 桌面自动化非常好的一个库,不但精准度高,功能全面,而且适应性也非常的方,从古老的 Win32 应用到现代的 WPF/UWP 应用都能搞定。

如果你在工作中面临大量重复的桌面软件操作,不妨试试用 pywinauto 写一段脚本。配合 Python 的定时任务,完全可以实现全自动化的办公流程。

最新文章

随机文章