Python - pywinauto - один ввод вызывает несколько действий - PullRequest
0 голосов
/ 25 сентября 2019

Я делаю некоторую автоматизацию программы установки с использованием Python и pywinauto.Однако я наткнулся на проблему, которую не могу решить.По какой-то причине на этой странице этого конкретного установщика, когда я отправляю окну ввод с помощью pywinauto, кажется, что он также отправляет вводы всем кнопкам, а затем, наконец, нажимает ту, которую я командовал.Ниже приведен код, который вызывает проблему.Кажется, что эта проблема возникает, когда я смотрю на app.Dialog.ComboBox, потому что я получаю ту же странную ошибку при вызове таких методов, как Rectangle.Я также приложил GIF проблемы ниже, чтобы помочь объяснить это.

app = Application(backend="uia").connect(title_re = 'My program name', timeout=1000)
app.Dialog.ComboBox2.click_input()

Ошибка в форме GIF:

img

1 Ответ

0 голосов
/ 26 сентября 2019

Мне удалось найти решение моей проблемы, хотя мне пришлось использовать другой модуль.Я не мог понять это, используя pywinauto.Я подозреваю, что это глубокая проблема в том, как написан модуль, и на его исправление потребуется много времени.Я вместо этого использовал модуль uiautomation.Ниже приведен мой код для выбора одного элемента из списка программного обеспечения.

import uiautomation

app = uiautomation.WindowControl(searchDepth=1, Name='WindowName')
app.Control(searchDepth=6, AutomationId = 'Products.BtnProductSet0.Cbx').Click()
...