Python Pywinauto 根据某些 class_name 的存在检测 window
Python Pywinauto detect window based on existence of certain class_name
背景:
我正在尝试自动化将分发到一堆不同计算机的安装程序。其中一些已经有 MS 可分发文件,有些则没有。没有这个文件的那些在 window 控件标识符中有这个:
child_window(class_name="SysHeader32")
之所以重要,是因为这将是安装中需要按下按钮的额外步骤。有没有办法使 if 循环类似于:
if main_dlg.child_window(class_name="SysHeader32") exists:
click install
proceed normally
else:
Proceed normally
我将如何实施?
我没有额外的步骤也能正常工作,但如果有这个额外的步骤,安装就会失败。
有方法 .exists(timeout=5)
returns True/False 而不是像其他方法那样引发异常。当然,try-except 块也是可能的,但是 .exists() 作为逻辑看起来比错误处理更好。
顺便说一句,否则不需要分支。条件代码执行与否后正常进行即可。
背景: 我正在尝试自动化将分发到一堆不同计算机的安装程序。其中一些已经有 MS 可分发文件,有些则没有。没有这个文件的那些在 window 控件标识符中有这个:
child_window(class_name="SysHeader32")
之所以重要,是因为这将是安装中需要按下按钮的额外步骤。有没有办法使 if 循环类似于:
if main_dlg.child_window(class_name="SysHeader32") exists:
click install
proceed normally
else:
Proceed normally
我将如何实施?
我没有额外的步骤也能正常工作,但如果有这个额外的步骤,安装就会失败。
有方法 .exists(timeout=5)
returns True/False 而不是像其他方法那样引发异常。当然,try-except 块也是可能的,但是 .exists() 作为逻辑看起来比错误处理更好。
顺便说一句,否则不需要分支。条件代码执行与否后正常进行即可。