必要なウィンドウタイトルがpywinautoを使用して表示されるまで待つ方法は?
ウィンドウタイトルがそのウィンドウに対して何らかのアクションを実行する必要があることがわかったら、必要なウィンドウタイトルを待つ必要があります。どうすればこれを行うことができますか?
必要なウィンドウタイトルがpywinautoを使用して表示されるまで待つ方法は?
ウィンドウタイトルがそのウィンドウに対して何らかのアクションを実行する必要があることがわかったら、必要なウィンドウタイトルを待つ必要があります。どうすればこれを行うことができますか?
最も簡単な方法はpywinauto.timings.WaitUntilPasses
app = pywinauto.Application()
app.start('calc')
window = pywinauto.timings.WaitUntilPasses(10, 0.5, lambda: app.window_(title=u'About Calculator'))
#run About manually in 10 seconds
<pywinauto.application.WindowSpecification object at 0x02DD0DB0>
さて、私はWaitUntilPasses
小さなスクリプトの下で試していたこのメソッドの使用方法を理解しました。
app = pywinauto.Application()
app.start('Notepad')
Win = "Untitled1.txt" + "-" + "Notepad"
window = pywinauto.timings.WaitUntilPasses(20, 0.5, lambda: app.window_(title=Win))
app.Untitled1.MenuSelect('Help -> About Notepad')
ここで、20秒以内にメモ帳を開いた後、メモ帳を保存しUntitled1.txt
、次のようにメモ帳のノットパッドタイトルを保存した後"Untitled1.txt - Notepad"
、上記のスクリプトで同じタイトルを待っていて、同じタイトルを取得したら、そのメモ帳でメニューオプションを選択しようとしていますしかし、20 秒後にここに到達すると、タイムアウト エラーが発生します。