Как распечатать контрольные идентификаторы окна для документа в Pywinauto - PullRequest
1 голос
/ 14 июня 2010

Я пытаюсь автоматизировать установку приложения с помощью Pywinauto. Во время установки последнее окно в некоторых случаях отображает некоторые предупреждения или сообщения об ошибках, а затем система начинает перезагружаться. Моя цель - захватить предупреждающие сообщения, которые возможны по

app.top_window_()._ctrl_identifiers()
np.Notepad.Edit.TypeKeys(a,with_spaces=True, with_tabs=True, with_newlines=True)

Возвращается список, содержащий все сообщения на экране. Во второй строке я пытаюсь напечатать объект списка в блокноте, но он выдает некоторые исключения

Traceback (most recent call last):
  File "<pyshell#37>", line 1, in <module>
    np.Notepad.Edit.TypeKeys(a,with_spaces=True, with_tabs=True, with_newlines=True)
  File "C:\Python26\pywinauto\controls\HwndWrapper.py", line 950, in TypeKeys
    turn_off_numlock)
  File "C:\Python26\pywinauto\SendKeysCtypes.py", line 629, in SendKeys
    keys = parse_keys(keys, with_spaces, with_tabs, with_newlines)
  File "C:\Python26\pywinauto\SendKeysCtypes.py", line 538, in parse_keys
    c = string[index]
KeyError: 0

Может ли кто-нибудь дать мне знать, как это сделать, или есть другой способ, как это можно сделать на примере?

1 Ответ

0 голосов
/ 14 июня 2010

Переформатирование ::

код

app.top_window_()._ctrl_identifiers()  # did you mean print_control_identifiers() ?
np.Notepad.Edit.TypeKeys(a,with_spaces=True, with_tabs=True, with_newlines=True)

Traceback

Traceback (most recent call last): 
File "", line 1, in 
    np.Notepad.Edit.TypeKeys(a,with_spaces=True, with_tabs=True, with_newlines=True) 
File "C:\Python26\pywinauto\controls\HwndWrapper.py", line 950, in TypeKeys 
    turn_off_numlock) 
File "C:\Python26\pywinauto\SendKeysCtypes.py", line 629, in SendKeys 
    keys = parse_keys(keys, with_spaces, with_tabs, with_newlines) 
File "C:\Python26\pywinauto\SendKeysCtypes.py", line 538, in parse_keys 
    c = string[index] KeyError: 0

Вы не объясняете, что a содержит во 2-й строке, но может показаться, что вы передаете словарь, а не строку. SendKeys() ожидает строку.

Надеюсь, это поможет

...