#python-3.6 #ui-automation #pywinauto #listbox-control
#python-3.6 #пользовательский интерфейс-автоматизация #pywinauto #listbox-control
Вопрос:
Я хочу получить доступ к текстовым значениям из окна списка (pywinauto uia wrapper), которое вложено в представление СПИСКА внутри используемого приложения.
фрагмент кода:
#upper window
up_window.ListView.wait('visible').Select('Enforcement').click_input(double=True)
time.sleep(5)
#after this enforcement window opens and i need to select the third tab which is performed below and its working fine.
enfwin = guilib.get_window('Enforcement', backend='uia')
# guilib is user defined library which will retun the window handle
if enf_win.TabControl.get_selected_tab() != 2:
log.debug("Clicking on 'Targets' tab in Enforcement window")
enf_win.TabControl`enter code here`.wait('enabled', timeout=60).select(2)
time.sleep(30)
list_rows = enf_win.ListBox.wait('ready', timeout=60).texts()
dcs_win.ListView.wait('visible').Select('Enforcement').click_input(double=True)
time.sleep(5)
enf_win = guilib.get_window('Enforcement', backend='uia')
if enf_win.TabControl.get_selected_tab() != 2:
log.debug("Clicking on 'Targets' tab in Enforcement window")
enf_win.TabControl.wait('enabled', timeout=60).select(2)
time.sleep(30)
list_rows = enf_win.ListBox.wait('ready', timeout=60).texts()
Проблема здесь в том, что когда я вызываю эту функцию два раза из скрипта, 1-й запускает ее выборку list_rows, тогда как во втором запускает возвращаемый пробел. Похоже, что между ними потребовалось некоторое время. Но увеличение времени не помогает.
Пожалуйста, предложите, нужно ли мне вносить какие-либо изменения, чтобы каждый раз извлекать значение поля списка.
Комментарии:
1. Какое приложение вы автоматизируете? WinForms?
2. Да, его WinForms
3. Еще раз привет. Мы пытались воспроизвести его в синтетическом случае (тестовое приложение), и все время он возвращает правильный список строк. Пожалуйста, убедитесь, что
enf_win.ListBox.wait('ready', timeout=60).draw_outline()
нарисована граница вокруг правильного поля списка. Теоретически возможно, что оно было сопоставлено с разными элементами в разные моменты.