Приложение Pywinauto ListView имеет медленную производительность - PullRequest
0 голосов
/ 13 мая 2019

Я новичок в использовании pywinauto и пытаюсь автоматизировать приложение, которое в основном представляет собой просмотр списка с большим количеством записей. Повсюду мое приложение похоже на Systinternals Processviewer. Панель инструментов вверху, вид списка с +500 записей и строка состояния снизу. Когда приложение не имеет записей, моя автоматизация работает нормально. Автоматизация нажмите кнопку «Стоп» на панели инструментов и щелкают правой кнопкой мыши в списке, чтобы выбрать «Сохранить как диалог».

Но когда в приложении есть записи в виде списка, часть из правого щелчка, чтобы выбрать правую запись, очень медленная. Также изменить путь к хранилищу в диалоге сохранения.

Проблема сшивает множество записей списка. Я думаю, что Pywinauto пройти каждый шаг в этой записи. Как я могу игнорировать их, чтобы ускорить автоматизацию?

Я пытался использовать более конкретные имена входов
Также я попытался запустить этот код в новом потоке (основное приложение также замедляется, поскольку в списке много записей). Это не имеет никакого эффекта.

from pywinauto import Desktop, Application
strToStart = r'c:\Program files\appToTest\otherApp.exe*'
app = Application(backend='uia').start(strToStart)
app_Window = self.app.Dialog
app_Window.Toolbar1.Button5.click_input() #stop recording of the app
app_Window.Pane.click_input(button='right') # Listview with at least 500 entries
app.ContextMenu.wait('visible', timeout=10)
app.ContextMenu.child_window(title="save to log-file    Strg+S").click_input() # ninth entry in the context menu
save_dlg = self.__app_Window
save_dlg.Combobox1.Edit0.set_text(str(path_to_store))# here also extreme slow, time to get a coffee
save_dlg.Speichern.click_input()
app.kill()

Спасибо за любые подсказки, чтобы решить это.

Бьёрн

...