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

时间:2019-07-15 16:31:01

标签: python modal-dialog pywinauto

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

例如:

from pywinauto.application import Application

app = Application()
app.connect(process=1234)
main_window = app.window(class_name='YodaoMainWndClass')

在这里,我想检查main_window是否可见。但是我不知道该怎么做。也许我应该调用__getattribute__或其他函数?

1 个答案:

答案 0 :(得分:1)

方法.exists()返回TrueFalse(如果默认情况下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异常,否则将继续执行。

有关更多详细信息,请参见第Waiting for Long Operations章。