当前位置:

首页 > 软件教程 > pywinauto wait() 和 wait_not() 使用详解

pywinauto wait() 和 wait_not() 使用详解

前言pywinauto提供了两种等待方法:wait():等待窗口达到指定状态wait_not():等待窗口不处于某种状态wait()等待wait()方法的相关源码如下:defwait(self,wait_for,timeout=None,retry_interval=None):"""等待窗口达到指定状态。:paramwait_for:等待窗口达到的状态。可以是以下状态之一,也可以使用空格键组合多个状态:*'exists':表示窗口存在,是一个有效的句柄

本文目录

    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")

    文件-另存为

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

    等待另存为窗口出现

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

    wait_not() 等待

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

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程 自动化
    相关文章 更多
    AI Agent、Genie 4与机器人有什么区别?从任务输入到场景演示
    AI Agent、Genie 4与机器人有什么区别?从任务输入到场景演示

    认识AI Agent、Genie 4与机器人的区别:任务输入不等于完成结果,世界模拟不等于现实执行,装载机动作展示也不能替代完整工程验收。

    photoshop批处理改尺寸怎么弄的详细操作教程
    photoshop批处理改尺寸怎么弄的详细操作教程

    学习如何使用Photoshop的图像处理器和动作批处理功能快速统一修改大量图片的尺寸。本教程提供详细的操作步骤,包括动作录制、参数设置及批量执行流程,帮助用户高效完成图片 resizing 任务。

    全球首条百万片级体全息光波导自动化产线在天津投产
    全球首条百万片级体全息光波导自动化产线在天津投产

    全球首条百万片级体全息光波导自动化产线在天津投产,年产能100万片,突破消费级AR核心显示技术规模化量产瓶颈。产线采用独家全息光刻设备及工艺平台,拥有完整知识产权,产品已应用于AR眼镜和车载AR-HUD等领域。

    Apifox CLI 与Runner面向CI/CD场景,接口测试进入自动化流水线
    Apifox CLI 与Runner面向CI/CD场景,接口测试进入自动化流水线

    ApifoxCLI与Runner面向CI/CD场景,将接口测试自动化融入流水线。CLI可在Jenkins等工具中一键执行平台维护的测试套件;Runner支持内网或私有化环境,兼容非root用户运行。两者结合实现构建后自动回归测试,检查响应结构、业务流程等,但测试质量仍需团队持续保障。

    OpenSSL在Linux中的自动化脚本
    OpenSSL在Linux中的自动化脚本

    OpenSSL是一个强大的加密工具,可以在Linux系统中用于生成证书、密钥、签名等#!/bin/bash# 设置变量domain="example.com"email="admin@example.com"output_dir="/etc/ssl/certs"private_key_file="$

    Linux如何利用MySQL实现自动化运维
    Linux如何利用MySQL实现自动化运维

    在Linux系统中,利用MySQL实现自动化运维可以通过多种方式来完成。以下是一些常见的方法和步骤:1. 使用MySQL脚本自动化任务你可以编写MySQL脚本来执行一些常见的运维任务,比如备份数据库、监控性能、清理日志等。示例:备份数据库-- 创建备份脚本CREATE PROCEDURE backu

    PPOCRLabel半自动化图形标注工具初体验;
    PPOCRLabel半自动化图形标注工具初体验;

    Windows + Anaconda下载安装Anaconda(Python 3+)conda install pyqt=5cd ./PPOCRLabel # 将目录切换到PPOCRLabel文件夹下pyrcc5 -o libs/resources.py resources.qrcpython PPO

    使用 Bash 脚本自动化 Fluxion 启动
    使用 Bash 脚本自动化 Fluxion 启动

    引言 Fluxion 是一款安全审计和社会工程学研究工具。为了有效使用它,你通常需要先执行一系列设置命令,例如终止冲突进程和启用无线网卡的监听模式(monitor mode),然后再启动主应用程序。每次都重复执行这些命令会很繁琐。 在本实验中,你将学习如何通过创建一个简单的 Bash 脚本来自动化整

    稿定AI重塑设计工作流:从创意到成品全自动化
    稿定AI重塑设计工作流:从创意到成品全自动化

    稿定AI将文案、图片、海报、视频等设计环节整合至同一平台,实现从创意到成品的全自动化。系统不仅代劳生成与剪辑,还能提供排版、配色等优化建议。此举大幅提升效率、降低内容生产门槛,使设计师得以聚焦核心创意与品牌策略。

    稿定AI推动电商设计自动化:批量素材生成成为现实
    稿定AI推动电商设计自动化:批量素材生成成为现实

    稿定AI实现电商设计自动化,批量生成多套商品展示图,自动适配不同平台尺寸,根据产品属性匹配风格,支持导入编辑器微调,极大提升内容生产力与效率。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。