2016-09-28 1 views
0

Есть ли способ отслеживать или регистрировать ошибку в Pywinauto (например, всплывающее окно не отображается и т. Д.)? Я пытаюсь отслеживать, открывается ли окно правильно или нет. Я также пытаюсь проверить значения в листе Excel. Это возможно ? Ой! Да, я новичок в Python и Pywinauto. Спасибо за твою помощь !!Может ли Pywinauto отслеживать или регистрировать ошибку с приложением?

+0

Вы можете улучшить свой вопрос, указав, что вы сделали, чтобы решить свою проблему самостоятельно. Здесь, похоже, есть два вопроса: попробуйте сделать одну запись только с одним вопросом. –

+0

Вы правы. Я хочу знать, есть ли способ зарегистрировать ошибку с PyWinAuto. Скажем, я открываю лист Excel, и я смотрю на содержимое Cell (1,3). Ячейка (1,3) не имеет ожидаемого значения. Может ли PyWinAuto создать журнал, указав, что это значение неверно? –

ответ

1

Для работы с MS Excel я бы рекомендовал использовать стандартный модуль win32com.client (он включен в ActivePython, или расширения pyWin32 могут быть установлены, например, pip install pypiwin32). Почти у каждого приложения Microsoft есть приятный интерфейс IDispatch COM. Кстати, пример стандартных документов показывает использование MS Excel. ;)

Для обработки открывания окна pywinauto содержит .Wait('ready') метод для спецификации окна. Так что-то подобное должно работать или вызвать исключение в случае отказа:

app.MainWindowTitle.Wait('ready') # 'ready' == 'exists visible enabled' 
# or 
app.Window_(title_re='^some regular expr - .*$', class_name='#32770').Wait('visible enabled') 

Вы можете сделать то же самое, если окно закрывается:

app.SomeDialog.WaitNot('exists', timeout=20) # default or implicit timeout is 5 sec. 

Если вам нужно bool возвращаемого значения вместо того, приподнимая исключение, затем использовать методы .Visible(), .Exists(), .Enabled() и .IsActive().

Смежные вопросы