一旦你安装了pywinauto - 你怎么样?第一个必要的事情是确定哪种可访问性技术(pywinauto的后端)可以用于您的应用程序。
from pywinauto.application import Application app = Application(backend="uia").start("redcore.exe") #这一行配置使用哪种模式 app.UntitledNotepad.menu_select("帮助(H)->关于记事本(&A)") app.AboutNotepad.确定.click() app.UntitledNotepad.Edit.type_keys("pywindows !",with_sbaces = true)
Windows上支持的辅助功能技术列表:
- Win32 API (
backend="win32"
) - 现在的默认后端
- MFC,VB6,VCL,简单的WinForms控件和大多数旧的遗留应用程序
- MS UI Automation (
backend="uia"
)
- WinForms,WPF,商店应用,Qt5,浏览器
注意:Chrome
--force-renderer-accessibility
在启动前需要cmd标志。由于comtypes Python库限制,不支持自定义属性和控件。
不支持:Java AWT / Swing,GTK +,Tkinter。
到目前为止,Linux上的AT SPI和Apple Accessibility API都是长期计划。
GUI对象检查/间谍工具
如果您仍然不确定哪个后端最适合您,请尝试使用免费提供的对象检查/间谍工具:从GitHub repo gui-inspect-tool下载它们。
我的共享网盘:链接: https://pan.baidu.com/s/1TR-w4Ypr3G1jcDceD88GEw 密码: e87i
Spy ++包含在MS Visual Studio发行版(甚至是Express或Community)中,可通过“开始”菜单访问。它使用Win32 API。这意味着如果Spy ++能够显示所有控件,那么
"win32"
后端就是您所需要的。 AutoIt窗口信息工具是一种Spy ++克隆。Inspect.exe是Microsoft创建的另一个很棒的工具。它包含在Windows SDK中,因此可以在x64 Windows上的以下位置找到它:
C : \ Program Files (x86 ) \ Windows Kits \ < winver > \ bin \ x64
将Inspect.exe切换到UIA模式(使用MS UI Automation)。如果它可以显示比Spy ++更多的控件及其属性,可能
"uia"
后端是你的选择。
如果所有检测工具都看不到某些或所有控件,则仍然可以通过使用基本模块鼠标和键盘生成鼠标和键盘事件来控制应用程序。