Как нажать кнопку в диалоговом окне с помощью PyWinAuto - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть командный файл, который я запускаю, чтобы открыть программу.Затем появляется диалоговое окно, в которое я вписываю имя пользователя и пароль

Я печатаю идентификаторы элемента управления и его списки;

SunAwtDialog - 'Login'    (L528, T242, R853, B501)
['SunAwtDialog', 'LoginSunAwtDialog', 'Login']
child_window(title="Login", class_name="SunAwtDialog")

Итак, после прочтения этой записи .Насколько я понимаю, нужно было использовать окно + кнопку и метод щелчка, например, так:

dlp.SunAwtDialog['Login'].click()

Но это продолжает выдавать ElementNotFoundError;

ElementNotFoundError: {'best_match': 'SunAwtDialog', 'top_level_only': False, 'parent': <win32_element_info.HwndElementInfo - 'Login', SunAwtDialog, 2164976>, 'backend': 'win32'}

Ниже приведен полный фрагмент кода;

from pywinauto import application
import time
app = application.Application()
app.start(r"C:\\WINDOWS\system32\cmd.exe", wait_for_idle=False)
dlg = app.top_window()
dlg.type_keys('D:{ENTER}')
dlg.type_keys('cd{SPACE}Software\\client{ENTER}')
dlg.type_keys('run_client.bat{ENTER}')
time.sleep(10)
new_app = application.Application().connect(title="iManager")
dlp = new_app.top_window()
#type username + password
dlp.type_keys('user')
dlp.type_keys('{TAB}')
dlp.type_keys('pass')
#print control identifiers
dlp.print_control_identifiers()
#click login[![enter image description here][1]][1]
dlp.SunAwtDialog['Login'].click()

На изображении под кнопкой «Вход» я хочу нажать.Есть также еще одна кнопка рядом с опцией «Сервер», но она не находится в моих контрольных идентификаторах

Dialog box

...