pywinauto: доступ к графическому интерфейсу Chrome

Я пытаюсь выбрать принтер и печатать в браузере Chrome, используя pywinauto, но не могу получить доступ к компонентам графического интерфейса. Я вижу компоненты в Microsoft Inspect.exe в режиме UIAutomation. (См. скриншот).

Я запустил хром с флагом --force-renderer-accessibility.

Я пробовал несколько вещей, но я не могу получить доступ к чему-либо в хромированном окне. Можно ли получить доступ к компонентам chrome gui с помощью pywinauto?

скриншот: ![Скриншот]1


person Kumar Gaurav    schedule 22.04.2017    source источник


Ответы (1)


Вероятно, вы используете значение по умолчанию backend="win32", которое используется при вызове Application(). Чтобы использовать MS UI Automation, вы должны установить backend="uia" при создании экземпляра объекта приложения:

 app = Application(backend='uia').start('chrome.exe <other params>')

Мой студент написал пример скрипта перетаскивание файла из explorer.exe на Google Диск в Chrome. Это работает для вас?

P.S. Если вы уже используете backend='uia', предоставьте более подробное описание с кодом и выводом.

person Vasily Ryabov    schedule 22.04.2017
comment
привет @vasily.. надеюсь, у тебя все отлично! да, я использовал backend = 'uia' .. Завтра я обновлю вопрос с кодом и выводом. очень поздно здесь. Я также проверю пример сценария. Спасибо. - person Kumar Gaurav; 22.04.2017
comment
Спасибо. Пример сценария очень помог, и теперь я могу получить доступ к элементам графического интерфейса. Раньше я запускал хром с веб-драйвером селена, задавая параметр --force-renderer-accessibility, а затем подключался к приложению с помощью Application.connect. Я уверен, что делал что-то не так. Но для меня лучше не использовать селен, и он также работает для меня, поэтому я буду придерживаться его. Большое спасибо, еще раз! - person Kumar Gaurav; 24.04.2017