Я автоматизирую приложение (pywinauto ver 0.6.2), в котором я:
- поиск записи
- открыть диалог
- вносить изменения
- нажмите кнопку ОК
- дождитесь закрытия диалога
- при закрытии искать следующую запись, повторять
На этапе «дождитесь закрытия диалога» я использую:
dlg.wait_not("visible", timeout=60)
Это работает в большинстве случаев, но иногда не только не обнаруживает, что диалоговое окно закрылось, но и ничего не делает на отметке 60 секунд.
Есть ли лучший способ определить закрытие окна?
wait_not
все еще работает? - person Vasily Ryabov   schedule 13.04.2017"win32"
или"uia"
? - person Vasily Ryabov   schedule 13.04.2017"win32"
— это серверная часть по умолчанию. У меня были планы переписатьwait/wait_not
методы, которые исправят пару других проблем и несоответствий, таких как это. Но я слишком занят на некоторое время вперед (pywinauto пока является хобби-проектом). Вероятно, летнее обновление (0.6.3 или 0.6.4) будет содержать исправление. Если у вас есть время покопаться в этом, вы всегда можете сделать запрос на вытягивание. ;) И спасибо, что сообщили об этом! - person Vasily Ryabov   schedule 15.04.2017dlg.wait('visible', timeout=1)
в какой-то цикл for? - person MidnightThoughtful   schedule 20.04.2017