windows 桌面GUI自动化- 13.pywinauto 等待方法wait() 和 wait_not()

windows 桌面gui自动化- 13.pywinauto 等待方法wait() 和 wait_not()

前言

pywinauto 提供了两种等待方法:

wait()

:等待窗口达到指定状态

wait_not()

:等待窗口不处于某种状态

wait()

等待

wait()

方法的相关源码如下:

def wait(self, wait_for, timeout=None, retry_interval=None):    """    等待窗口达到指定状态。
:param wait_for: 等待窗口达到的状态。可以是以下状态之一,也可以使用空格键组合多个状态:    * 'exists':表示窗口存在,是一个有效的句柄    * 'visible':表示窗口可见    * 'enabled':表示窗口未被禁用    * 'ready':表示窗口可见且已启用    * 'active':表示窗口处于活动状态:param timeout: 如果窗口在指定秒数后仍未达到适当状态,则引发 :func:`pywinauto.timings.TimeoutError` 异常。    默认值为 :py:attr:`pywinauto.timings.Timings.window_find_timeout`。:param retry_interval: 每次重试之间的睡眠时间。    默认值为 :py:attr:`pywinauto.timings.Timings.window_find_retry`。例如,等待对话框存在、已准备好、已启用且可见:::    self.Dlg.wait("exists enabled visible ready").. seealso::    :func:`WindowSpecification.wait_not()`    :func:`pywinauto.timings.TimeoutError`"""

wait_for 参数的可选值包括:

  • 'exists':表示窗口存在,是一个有效的句柄
  • 'visible':表示窗口可见
  • 'enabled':表示窗口未被禁用
  • 'ready':表示窗口可见且已启用
  • 'active':表示窗口处于活动状态

timeout 参数表示超时时间,retry_interval 参数表示重试间隔。

使用示例:

from pywinauto import Application

app = Application('uia').start("notepad.exe")win = app.window(title_re="无标题 - 记事本")

输入内容

win.child_window(title="文本编辑器").set_text("hello world")

千面视频动捕 千面视频动捕

千面视频动捕是一个AI视频动捕解决方案,专注于将视频中的人体关节二维信息转化为三维模型动作。

千面视频动捕 27 查看详情 千面视频动捕

文件-另存为

win.menu_select('文件(F) -> 另存为(A)...')

等待另存为窗口出现

win.child_window(title="另存为", control_type="Window").wait('ready', timeout=5)

wait_not()

等待

wait_not()

方法与

wait()

方法刚好相反,用于等待窗口不处于某种状态。

以上就是windows 桌面GUI自动化- 13.pywinauto 等待方法wait() 和 wait_not()的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/414544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月7日 00:35:51
下一篇 2025年11月7日 00:39:41

相关推荐

发表回复

登录后才能评论
关注微信