python中until函数_等待应用程序窗口:python中的pywinauto.timings.WaitUntilPasses
我試圖在pywinauto中使用waituntilpasses來給應(yīng)用程序時間打開一個新窗口.我已使用SWAPY識別窗口詳細信息.
為了進行測試,我手動打開了子窗口,因此WaitUntilPasses應(yīng)該立即看到該窗口,但是沒有看到.
語法顯示為OK,因為我可以找到并打印find_windows的輸出,如下所示:
xx = pywinauto.findwindows.find_windows(
title=u'Choose template', class_name='#32770')[0]
print (xx)
這給出了789646的響應(yīng)
但是在我的WaitUntilPasses命令中:
pywinauto.timings.WaitUntilPasses(
20, 0.5,
(pywinauto.findwindows.find_windows(
title=u'Choose template', class_name='#32770')[0]
)
)
它總是超時.我看不到語法問題,并且嘗試了所有我能想到的排列.
任何提示將非常感謝.
解決方法:
pywinauto.timings.WaitUntilPasses等待第三個參數(shù)中的函數(shù),但不等待函數(shù)執(zhí)行的值(在您的情況下).
修復(fù)-將您的簽入lambda函數(shù)轉(zhuǎn)換為:
pywinauto.timings.WaitUntilPasses(20, 0.5, lambda: pywinauto.findwindows.find_windows(title=u'Choose template', class_name='#32770')[0])
但我贊成將檢查放在單獨的函數(shù)中:
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
標(biāo)簽:pywinauto,python
總結(jié)
以上是生活随笔為你收集整理的python中until函数_等待应用程序窗口:python中的pywinauto.timings.WaitUntilPasses的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一键安装配置Redis详解
- 下一篇: python函数 global_**Py