私は生物学者であり、pywinauto を初めて使用します。pywinauto を使用して HYPHY アプリケーションで入力ファイルを開くコードを作成しました。コマンド ラインでコードを 1 行ずつ実行すると正常に動作しますが、コードをバッチ ファイルとして実行すると、以下のエラー。
Traceback (most recent call last):
File "C:\Users\Masyh\Desktop\autowin_test.py", line 8, in <module>
w_handle = pywinauto.findwindows.find_windows(title=u' Please select a batch file to run:', class_name='#32770')[0]
IndexError: list index out of range
コードは次のとおりです。
import pywinauto
pwa_app = pywinauto.application.Application()
w_handle = pywinauto.findwindows.find_windows(title=u'HYPHY Console', class_name='HYPHY')[0]
window = pwa_app.window_(handle=w_handle)
window.SetFocus()
window.MenuItem(u'&File->&Open->Open &Batch File\tCtrl+O').Click()
w_handle = pywinauto.findwindows.find_windows(title=u' Please select a batch file to run:', class_name='#32770')[0]
window = pwa_app.window_(handle=w_handle)
window.SetFocus()
ctrl = window['Edit']
ctrl.Click()
ctrl.TypeKeys('brown.nuc')
ctrl=window['&open']
ctrl.Click()
問題は、入力を取得するウィンドウ (#'バッチ ファイル メニューを選択してください') が最初に開いておらず、コードの最初の部分が開いていることですが、Python は最初からそれを探して見つけられないことだと思います. これを解決する方法についての提案を本当に感謝しています。