在Python中调用AutoIt函数

时间:2010-07-21 16:28:12

标签: python autoit

我看到this post提到有一个AutoIt3 COM版本,有了它,我可以在Python中调用AutoIt函数。

我在AutoIt网站上找不到COM版本。它隐藏在某个地方吗?我怎么才能得到它?

2 个答案:

答案 0 :(得分:35)

如何在python中使用AutoItX COM / DLL

在Python中使用AutoIt有两种方法:

  1. pyautoit module
  2. python for windows extentions (pywin32)
  3. pyautoit模块将使用DLL,而使用pywin32时我们可以使用COM。据我所知,两者之间没有功能差异。

    先决条件

    1. 安装python
    2. 安装AutoIt
    3. 安装pyautoitpywin32
    4. 并非所有AutoIt功能都可通过COM / DLL接口使用。要查看哪些功能,请参阅AutoItX上的帮助文件。

      Pyautoit

      通过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

      安装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.dllAutoItX3_x64.dll包含在默认安装中,名为“AutoItX”的目录中。查看该目录中的帮助文件AutoItX.chm以获取更多信息。