将检查工具中的数据用于pywinauto

时间:2019-02-18 20:13:15

标签: python-3.x ui-automation pywinauto inspect

我正在使名为MEmu Instance Manager的应用程序自动化。

对于我的项目,我想返回存在的实例数量,以及它们的名称以及pywinauto模块和Windows Kit中的检查工具。

基于Inspect工具,MEmu应用程序的结构如下

MainWindow
    Parent
        Child1
        InstanceArea
            TARGET
            WIDGETS

使用检查工具检查目标小部件时,这就是我得到的。

enter image description here

我要返回的字符串是“ b __”

如何使用python返回Legacy|Accessible.Value字符串? 在执行此操作之前,是否需要指定小部件的路径?

如果是,怎么办?我已经在pywinauto指南上阅读了很多有用的信息,但是我无法将其与从检查中获得的信息一起应用于MEmu。

例如,

enter image description here

使用上述信息,我无法使用提供的信息引用此窗口。

我是一个初学者,我已经为此工作了几天,却一无所获。请帮助*哭泣

1 个答案:

答案 0 :(得分:1)

大概这种方式应该可行:

from pywinauto import Application

app = Application(backend="uia").connect(title='MainWindow')
# app.MainWindow.dump_tree() # useful to get child_window spec for just a copy-paste!

target = app.MainWindow.child_window(title='TARGET', control_type='Edit').wrapper_object()
# maybe try control_type='Text' depending on info from Inspect.exe

# when you found the control, just get the text
target.legacy_properties()['Value'] # .legacy_properties() returns a dict

我没有使用真实的应用实例进行检查。希望您可以在边缘进行调整。