我有一个使用 PyWinAuto 自动化应用程序的 Python 2.7 脚本。在应用程序的某一时刻,它会停止并长时间执行某项操作……有时 15 秒,有时长达 2 分钟……你永远不知道……每次都不一样。
该过程完成后,会出现一个弹出窗口,我希望 PyWinAuto 继续。所以,我试图让程序等待并检查是否出现了弹出对话框。当它发生时,我尝试跳出循环。下面看一下我所描述的代码:
all_done = 1
while all_done != 1:
try:
app.Phazer.Static2.Texts() == [u'Would you like to Store Results?']
all_done = 1
break
except:
print("Testing...")
time.sleep(2)
..rest of the code..
但是,80% 的情况下,它每次都有效。否则,PyWinAuto 有时会跳出循环并尝试处理尚未出现的弹出对话框。
我是 Python 新手,但我知道必须有一种更智能、更可靠的方法来实现这一目标……有什么想法吗?