Python 如何检查pywinauto是否显示一个窗口或对话框

Python 如何检查pywinauto是否显示一个窗口或对话框,python,modal-dialog,pywinauto,Python,Modal Dialog,Pywinauto,我是pywinauto的新手,刚刚开始学习。现在我正在使用pywinauto进行一些自动测试。所以我需要知道如何检查一个对话框是否显示 例如: 从pywinauto.application导入应用程序 app=应用程序() app.connect(进程=1234) main\u window=app.window(class\u name='YodaoMainWndClass') 在这里,我想检查主窗口是否可见。但我不知道怎么做。也许我应该调用\uu getattribute\uu或其他函数?

我是pywinauto的新手,刚刚开始学习。现在我正在使用
pywinauto
进行一些自动测试。所以我需要知道如何检查一个对话框是否显示

例如:

从pywinauto.application导入应用程序
app=应用程序()
app.connect(进程=1234)
main\u window=app.window(class\u name='YodaoMainWndClass')
在这里,我想检查主窗口是否可见。但我不知道怎么做。也许我应该调用
\uu getattribute\uu
或其他函数?

方法
.exists()
返回
True
False
(如果默认情况下它在5秒钟内不存在)。它可能是这样的:

main_window = app.window(class_name='YodaoMainWndClass', visible_only=True)
if main_window.exists(timeout=10):
    pass # do something
如果窗口没有出现,并且我们应该通过测试,那么就更容易确定我们不能等到窗口打开。方法
.wait()
比以下方法更可取:

main_window = app.window(class_name='YodaoMainWndClass')
main_window.wait('visible', timeout=10)
如果超时结束,方法
.wait()
将引发异常
ElementNotFoundError
,否则将继续执行


有关详细信息,请参阅第章。

我似乎无法捕获pywinauto.ElementNotFoundError。捕获pywinauto.Timeings.TimeoutError似乎也不起作用。我想测试对话框是否没有出现。我发现的唯一解决方法是捕获所有异常。想知道是否有更好的方法?@AdamE你能在GitHub上创建一个问题并提供更多细节吗?一些代码示例可能会有所帮助。