AutoIt3 COMバージョンがあると述べたこの投稿を見たことがあります。これを使用すると、PythonでAutoIt関数を呼び出すことができます。
AutoItのWebサイトでCOMバージョンが見つかりませんでした。どこかに隠されていますか?どうすれば入手できますか?
PythonでAutoItを使用するには、次の2つの方法があります。
pyautoitモジュールはDLLを利用しますが、pywin32ではCOMを使用できます。私の知る限り、この2つに機能的な違いはありません。
すべてのAutoIt機能がCOM/DLLインターフェースを介して利用できるわけではありません。機能を確認するには、AutoItXのヘルプファイルを参照してください。
pipまたはお好みの方法でインストールします。
pip install -U pyautoit
エラーが発生した場合:WindowsError: [Error 193] %1 is not a valid Win32 application
pyautoitをインストールするときは、32ビットバージョンのpythonを使用してください。64ビットバージョンのPythonを使用してpyautoitをインストールすることができませんでした。もちろん、マイレージは異なる場合があります。
インポートして使用する:
import autoit
autoit.run("notepad.exe")
autoit.win_wait_active("[CLASS:Notepad]", 3)
autoit.control_send("[CLASS:Notepad]", "Edit1", "hello world{!}")
autoit.win_close("[CLASS:Notepad]")
autoit.control_click("[Class:#32770]", "Button2")
autoitコマンドはすべて、AutoItXが推奨するCamelCaseではなく、lower_case_with_underscoresを使用します。したがって、ControlSendはcontrol_sendになり、WinCloseはwin_closeになります。
pywin32がインストールされたら、次の方法でAutoItX関数を呼び出します。
import win32com.client
autoit = win32com.client.Dispatch("AutoItX3.Control")
autoit.Run("NotePad.exe")
autoit.ControlClick(WINDOW, "", "[CLASSNN:TTreeView1]", "left", 1, 53, 41)
このバージョンで問題が発生した場合は、すべてを32ビットとしてインストールして再試行してください。
AutoItX.dll
デフォルトのインストールでAutoItX3_x64.dll
は、「AutoItX」というディレクトリに含まれています。詳細については、そのディレクトリのヘルプファイルAutoItX.chm
を確認してください。