如何从包装器中获取 window 规范?

How to get a window specification from a wrapper?

我有一个元素的包装器,它并不总是启用或可见,所以我想等待它。 为此,我必须获得此包装器的 window 规范才能执行以下操作:

window_specification.wait("exists enabled visible ready")

如何实现下面的功能?

window_specification = get_window_specification(wrapper)

目前在 pywinauto 中未原生实现。但是可以这样创建:

spec = app.window(handle=wrapper.handle, top_level_only=False)

在下一个主要版本中,我们计划在包装器对象中添加等待特定状态。所以寻找包装器和等待状态将是不同的选择。

在当前版本 (pywinauto==0.6.8) 中还有一种方法:wait_untilwait_until_passes 来自模块 timings 的函数。它增加了对任何条件的灵活等待。