Использование pywinauto для открытия диалогового окна Кнопка «Отмена»

1

У меня ситуация, когда процесс автоматизации PowerPoint зависает, если в него передан защищенный паролем.ppt файл. Я разработал скрипт, чтобы обнаружить, когда это происходит с использованием pywinauto и подключиться к диалоговому окну Password, но я не могу заставить его нажать кнопку "Отмена".

Здесь идентификаторы управления, которые я вижу для диалогового окна "Ввод пароля":

NUIDialog - 'Password'    (L649, T422, R999, B553)
['NUIDialog', 'Password', 'PasswordNUIDialog']
child_window(title="Password", class_name="NUIDialog")
   |
   | NetUIHWND - ''    (L657, T453, R991, B545)
   | ['NetUIHWND', 'PasswordNetUIHWND']
   | child_window(class_name="NetUIHWND")
   |    |
   |    | NetUICtrlNotifySink - ''    (L728, T495, R983, B510)
   |    | ['PasswordNetUICtrlNotifySink', 'NetUICtrlNotifySink']
   |    | child_window(class_name="NetUICtrlNotifySink")
   |    |    |
   |    |    | RICHEDIT60W - ''    (L728, T495, R983, B510)
   |    |    | ['PasswordRICHEDIT60W', 'RICHEDIT60W']
   |    |    | child_window(class_name="RICHEDIT60W")
   |    |
   |    | RICHEDIT60W - ''    (L728, T495, R983, B510)
   |    | ['PasswordRICHEDIT60W', 'RICHEDIT60W']
   |    | child_window(class_name="RICHEDIT60W")
   |
   | NetUICtrlNotifySink - ''    (L728, T495, R983, B510)
   | ['PasswordNetUICtrlNotifySink', 'NetUICtrlNotifySink']
   | child_window(class_name="NetUICtrlNotifySink")
   |    |
   |    | RICHEDIT60W - ''    (L728, T495, R983, B510)
   |    | ['PasswordRICHEDIT60W', 'RICHEDIT60W']
   |    | child_window(class_name="RICHEDIT60W")
   |
   | RICHEDIT60W - ''    (L728, T495, R983, B510)
   | ['PasswordRICHEDIT60W', 'RICHEDIT60W']
   | child_window(class_name="RICHEDIT60W")

Я попытался сделать password_dialog.NetUICtrlNotifySink.Click() но ничего не происходит. Есть идеи?

Теги:
pywinauto

1 ответ

2
Лучший ответ

Я бы рекомендовал использовать Application(backend="uia") для всех продуктов MS Office. Он должен видеть гораздо больше элементов управления.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню