前言
Pywinauto 是基于 Python 开发的一个自动化测试脚本模块,主要用于操作 Windows 标准图形界面。它能方便地发送鼠标和键盘操作给 Windows 的对话框和控件。官方
网站为https://pywinauto.readthedocs.io/en/latest/index.html,中文文档则位于https://www.kancloud.cn/gnefnuy/pywinauto_doc/1193035。
通过命令行可以轻松安装 pywinauto:
pip install pywinauto
安装成功后,可以运行以下代码来验证是否正确安装:
from pywinauto.application import Application
# 启动记事本
app = Application(backend="uia").start("notepad.exe")如果能够顺利打开记事本,说明安装成功。
在启动应用程序前,需要选择合适的可访问性技术(backend)。在 Windows 上有两种支持的技术:
要确定程序适用的 backend,可以使用 GUI 对象检查工具。如果使用 inspect 的 UIA 模式显示的控件和属性更多,则选择 backend="uia",否则选择 backend="win32"。
常用的元素定位工具包括:
关于 inspect 的详细教程可访问https://learn.microsoft.com/zh-cn/windows/win32/winauto/inspect-objects。
Inspect.exe 是 Windows SDK 的内置工具,可通过安装 Windows SDK 获得,下载地址为https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/。
安装后,Inspect.exe 位于 SDK 安装路径的 \bin\ 文件夹中,通常不需要以管理员身份运行,并可复制到桌面使用。
“检查”窗口包含以下主要部分:
标题栏。显示“检查”窗口句柄 (HWND)。 菜单栏。提供对检查功能的访问权限。 工具栏。提供对检查功能的访问权限。 树视图。将 UI 元素的分层结构呈现为可用于在元素之间导航的树视图控件。 数据视图。显示所选 UI 元素的所有公开辅助功能属性。
菜单栏中的命令也在工具栏中提供。下图展示了检查记事本中“编辑”菜单元素的 UI 自动化属性。
其他类似的工具包括:
Python 工具:
其他脚本语言工具:
其他免费工具:
商业工具: