一旦你安装了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"​​ 后端是你的选择。


如果所有检测工具都看不到某些或所有控件,则仍然可以通过使用基本模块​​鼠标​​​和​​键盘​​生成鼠标和键盘事件来控制应用程序。

 

pywinauto_确定你的程序该使用uia还是win32模式_应用程序

 

pywinauto_确定你的程序该使用uia还是win32模式_应用程序_02