Использование данных из инструмента проверки Pywinauto - PullRequest
0 голосов
/ 18 февраля 2019

Я работаю над автоматизацией приложения MEmu Instance Manager.

Для моего проекта я хочу вернуть количество существующих экземпляров вместе с их именами с помощью модуля pywinauto и инструмента проверки из набора Windows.

Основанное на инструменте Inspect, приложение MEmu имеет такую ​​структуру

MainWindow
    Parent
        Child1
        InstanceArea
            TARGET
            WIDGETS

При проверке целевых виджетов с помощью инструмента inspect я получаю именно это.

enter image description here

Строка, которую я пытаюсь вернуть, это "b __"

Как вы можете использовать python для возврата Legacy|Accessible.Valueстрока?Нужно ли указывать путь к виджету перед этим?

Если так, то как?Я прочитал много полезной информации в руководстве по pywinauto, но у меня возникают проблемы с его применением в MEmu вместе с информацией, которую я получаю при проверке.

Например,

enter image description here

с информацией выше, я не могу обратиться к этому окну с предоставленной информацией.

Я новичок, и я работал над этим пару дней, и с этим ничего не получалось.Пожалуйста, помогите * плачет лил

1 Ответ

0 голосов
/ 19 февраля 2019

Вероятно, этот способ должен работать:

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

Я не проверял его с реальным экземпляром приложения.Надеюсь, что вы можете настроить его по краям.

...