Я видел этот пост, что есть версия AutoIt3 COM, и с ней я могу вызывать функции AutoIt в Python.
Я не смог найти версию COM на веб-сайте AutoIt. Он где-то скрыт? Как я могу его получить?
Я видел этот пост, что есть версия AutoIt3 COM, и с ней я могу вызывать функции AutoIt в Python.
Я не смог найти версию COM на веб-сайте AutoIt. Он где-то скрыт? Как я могу его получить?
Существует два метода использования AutoIt в Python:
Модуль pyautoit будет использовать DLL, а с pywin32 мы сможем использовать COM. Насколько я знаю, функциональных различий между ними не существует.
Не все функции AutoIt доступны через интерфейс COM/DLL. Чтобы узнать, какие функции есть, см. Файл справки в AutoItX.
Установите через пип или ваш предпочтительный метод:
pip install -U pyautoit
Если вы получаете сообщение об ошибке: WindowsError: [Error 193] %1 is not a valid Win32 application
при установке pyautoit используйте 32-битную версию python. Мне не удалось получить pyautoit для установки с использованием 64-разрядной версии python. Конечно, ваш пробег может меняться.
Импорт и использование:
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 все используются как low_case_with_underscores, а не AutoItX, предпочитаемые CamelCase. Таким образом 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
в этом каталоге.