【问题标题】:Python Pywinauto detect window based on existence of certain class_namePython Pywinauto 基于某个类名的存在检测窗口
【发布时间】:2021-01-30 09:56:02
【问题描述】:

背景: 我正在尝试自动化将分发到一堆不同计算机的安装程序。其中一些已经有一个 MS 可分发文件,其中一些没有。没有这个文件的那些在窗口控件标识符里面有这个:

child_window(class_name="SysHeader32")

这很重要的原因是,这将是安装中需要按下按钮的额外步骤。有没有办法使 if 循环类似于:

if main_dlg.child_window(class_name="SysHeader32") exists:
     click install
     proceed normally
else:
     Proceed normally

我将如何实现这个?

我没有额外的步骤就可以工作,但是如果存在这个额外的步骤,安装就会失败。

【问题讨论】:

    标签: python-3.x automation pywinauto


    【解决方案1】:

    有一个方法.exists(timeout=5) 返回真/假,而不是像其他方法那样引发异常。当然,try-except 块也是可以的,但是 .exists() 作为逻辑看起来比错误处理更好。

    顺便说一句,否则不需要分支。条件码执行与否后正常进行即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      • 2018-01-08
      • 2015-12-27
      • 2011-01-19
      相关资源
      最近更新 更多