Видимое окно не может быть распознано в Pywinauto - PullRequest
0 голосов
/ 25 октября 2019

При написании сценариев я пытаюсь просмотреть некоторые элементы в диспетчере устройств. Единственная проблема заключается в том, что pywinauto не может видеть диспетчер устройств. Ниже приведено то, что я получаю при поиске «Диспетчера устройств»:

Could not find 'Device Manager' in 'dict_keys(['', 'Pane', 'Taskbar', 'Pane0', 'Pane1', 'Pane2', 'TaskbarPane', 
'Pane3', 'NetBannerPane', 'Pane4', 'NetBanner', 'ListBox', 'Program ManagerPane', 'Program Manager', 'Pane5'])'

Я попытался print_control_identifiers () для всех перечисленных здесь элементов, однако ни один из них не является диспетчером устройств. Заглянув в Inspect.exe, я ясно вижу, что есть окно с заголовком «Диспетчер устройств».

Inspect.exe screenshot

Я даже пыталсячтобы получить к нему доступ через:

 dlg=Desktop(background='uia')
 dlg.window(class_name="MMCMainFrame").print_control_identifiers()

Однако, он также выдает ошибку о том, что это недопустимое имя для элемента и его невозможно найти. Кто-нибудь еще пытался использовать pywinauto для просмотра диспетчера устройств? Или возникла проблема с невозможностью найти элемент

1 Ответ

0 голосов
/ 07 ноября 2019

попробуйте использовать этот код:

dlg = Desktop(background="uia")
dlg.window(title="Device Manager").print_control_identifiers()

Используйте title или title_re вместо class_name. dlg.window (title = "Device Manger") возвращает обработчик окна диспетчера устройств, если окно уже открыто. Вот найдите окно документации

...