在Python中调用AutoIt函数

我看过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的安装.
>安装pyautoitpywin32.

并非所有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位,然后重试.

上一篇:Java+Selenium——AutoIt工具处理文件上传


下一篇:java-使用Selenium和AutoIt通过远程桌面自动化