我看到this post提到有一个AutoIt3 COM版本,有了它,我可以在Python中调用AutoIt函数。
我在AutoIt网站上找不到COM版本。它隐藏在某个地方吗?我怎么才能得到它?
答案 0 :(得分:35)
在Python中使用AutoIt有两种方法:
pyautoit模块将使用DLL,而使用pywin32时我们可以使用COM。据我所知,两者之间没有功能差异。
并非所有AutoIt功能都可通过COM / DLL接口使用。要查看哪些功能,请参阅AutoItX上的帮助文件。
通过pip或您首选的方法安装:
pip install -U pyautoit
如果在安装pyautoit时遇到错误:WindowsError: [Error 193] %1 is not a valid Win32 application
,请使用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命令全部使用lower_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位,然后重试。
答案 1 :(得分:10)
AutoItX.dll
和AutoItX3_x64.dll
包含在默认安装中,名为“AutoItX”的目录中。查看该目录中的帮助文件AutoItX.chm
以获取更多信息。