Pywinauto-如何等待具有相同窗口属性的窗口之间更改的特定窗口标题

时间:2018-11-29 12:51:33

标签: pywinauto

在应用程序中,我创建了一些具有相同形式的实例(除了handle之外,所有Windows属性都是相同的)并独立使用它们。在会话表单根据上下文更改自己的标题的过程中,我需要在表单中执行某些操作后等待标题更改。

下一个代码,不要等待标题更改前立即进入窗口:

w = app.window(handle = handle, title_re = '...', class_name='...')
w.wait('ready', timeout = 2)

由于功能find_elements()的工作功能:

if handle is not None:
    return [backend_obj.element_info_class(handle), ]

那么,什么是最佳解决方案?

P.S。我需要一些表格来加快执行速度,这很重要

我当然可以使用下一个代码:

def check_state():
    windows = app.windows(title = '...', class_name='...')
    for w in windows:
        if handle == w.handle:
            return(True)
    return(False)

pywinauto.timings.wait_until(5, 0.5, check_state, True)

这是最好的解决方案,还是我跳过了其他内容?

1 个答案:

答案 0 :(得分:0)

是的,功能timings.wait_until(...)足以满足此目的。方法.wait().wait_not()仅限于窗口规范。 wait_until是通用的。

搜索标准found_index=i.window(...)/.child_window(...)规范中也很有用。