python中until函数_等待应用程序窗口:python中的pywinauto.timings.WaitUntilPasses
我試圖在pywinauto中使用waituntilpasses來給應用程序時間打開一個新窗口.我已使用SWAPY識別窗口詳細信息.
為了進行測試,我手動打開了子窗口,因此WaitUntilPasses應該立即看到該窗口,但是沒有看到.
語法顯示為OK,因為我可以找到并打印find_windows的輸出,如下所示:
xx = pywinauto.findwindows.find_windows(
title=u'Choose template', class_name='#32770')[0]
print (xx)
這給出了789646的響應
但是在我的WaitUntilPasses命令中:
pywinauto.timings.WaitUntilPasses(
20, 0.5,
(pywinauto.findwindows.find_windows(
title=u'Choose template', class_name='#32770')[0]
)
)
它總是超時.我看不到語法問題,并且嘗試了所有我能想到的排列.
任何提示將非常感謝.
解決方法:
pywinauto.timings.WaitUntilPasses等待第三個參數中的函數,但不等待函數執行的值(在您的情況下).
修復-將您的簽入lambda函數轉換為:
pywinauto.timings.WaitUntilPasses(20, 0.5, lambda: pywinauto.findwindows.find_windows(title=u'Choose template', class_name='#32770')[0])
但我贊成將檢查放在單獨的函數中:
def check():
return pywinauto.findwindows.find_windows(title=u'Choose template', class_name='#32770')[0]
pywinauto.timings.WaitUntilPasses(20, 0.5, check) #Important: 'check' without brackets
標簽:pywinauto,python
總結
以上是生活随笔為你收集整理的python中until函数_等待应用程序窗口:python中的pywinauto.timings.WaitUntilPasses的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一键安装配置Redis详解
- 下一篇: 信息安全管理与评估_计算机工程学院教师参