【发布时间】:2021-11-09 10:27:28
【问题描述】:
参考回答这个问题pywinauto does not detect child window
我有一个类似的问题,我单击“新建”按钮并出现一个输入输入的窗口。 我的问题是这个新窗口没有列在 print_control_identifiers() 中。以下是我到目前为止的全部代码,直到弹出新窗口
app = Application(backend="uia").connect(title_re="Celestica SpectrumPro.*", timeout=20)
dlg = app.window(title_re="Celestica SpectrumPro.*")
app.dlg.Edit2.type_keys("XXXXXXX")
app.dlg.Edit.type_keys("YYYYYY")
app.dlg.Login.click()
app.dlg.wait("exists enabled visible ready")
app.dlg.New.click()
在最后一行之后,现在我必须得到刚刚弹出的新子窗口。 以下是尝试#1 及其错误
newDLG = app.window(title="SHOP ORDER Configuration")
dlg.newDLG.print_control_identifiers()\
pywinauto.findwindows.ElementNotFoundError: {'title_re': 'Celestica SpectrumPro.*', 'backend': 'uia', 'process': 12244}
下面是尝试#2 及其错误
newDLG = dlg.window(title="SHOP ORDER Configuration")
app.dlg.newDLG.print_control_identifiers()
pywinauto.findbestmatch.MatchError: Could not find 'newDLG' in 'dict_keys(['Button', 'SpectrumPro WEBButton', 'SpectrumPro WEB',.......])
尝试#3 是当我尝试解决参考堆栈溢出问题但同样的问题时
newDLG = app.dlg.child_window(title="SHOP ORDER Configuration")
app.dlg.newDLG.print_control_identifiers()
pywinauto.findbestmatch.MatchError: Could not find 'newDLG' in 'dict_keys(['Button', 'SpectrumPro WEBButton', 'SpectrumPro WEB',....])
当我使用 Inspect.exe 时,有新窗口按钮、文本输入等的详细信息。但它们不存在于 Inspect.exe 树中。所以我不知道谁是这个新窗口的父级。 有谁知道我如何连接到弹出的这个新窗口
【问题讨论】:
标签: python python-3.x pywinauto