我看过this post提到有一个AutoIt3 COM版本,有了它,我可以在Python中调用AutoIt函数.
我在AutoIt网站上找不到COM版本.它隐藏在某个地方吗?我怎么才能得到它?
解决方法:
如何在python中使用AutoItX COM / DLL
在Python中使用AutoIt有两种方法:
> pyautoit module
> python for windows extentions (pywin32)
pyautoit模块将使用DLL,而使用pywin32我们可以使用COM.据我所知,两者之间没有功能差异.
先决条件
> python的安装.
> AutoIt的安装.
>安装pyautoit或pywin32.
并非所有AutoIt功能都可通过COM / DLL接口使用.要查看哪些功能,请参阅AutoItX上的帮助文件.
Pyautoit
通过pip或您首选的方法安装:
pip install -U pyautoit
如果出现错误:WindowsError:[错误193]%1在安装pyautoit时不是有效的Win32应用程序,请使用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
安装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位,然后重试.