Ответ 1
Как использовать AutoItX COM/DLL в python
Существует два метода использования AutoIt в Python:
Модуль pyautoit будет использовать DLL, а с pywin32 мы сможем использовать COM. Насколько я знаю, функциональных различий между ними не существует.
Необходимые условия
Не все функции AutoIt доступны через интерфейс COM/DLL. Чтобы узнать, какие функции есть, см. Файл справки в AutoItX.
Pyautoit
Установите через пип или ваш предпочтительный метод:
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
Как только 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 бит и повторите попытку.