使用 AutoIT select 浏览器中的一些元素

Use AutoIT to select some elements in browser

我想使用 AutoIT 来自动打开浏览器、访问网站、填写表格并提交或单击网页中的某些元素。

Local $ccLocation = '%APPDATA%\..\Local\CocCoc\Browser\Application\browser.exe' 
Local $link = 'http://google.com'

Run('cmd')
WinWaitActive('C:\WINDOWS\SYSTEM32\cmd.exe')
Send($ccLocation & '{ENTER}')

$ccLocation 是我的 browser.exe

的路径

现在我可以打开我的浏览器 (Chrome),但我不知道如何访问网站或对该网站执行一些操作。我该如何继续?

这里有两个使用 Internet Explorer 的例子。在三种最流行的浏览器(IE、Firefox 和 Chrome)中,IE 是最容易实现自动化的,因为它内置了 API,AutoIt 可以使用它来实现自动化。如果您坚持使用 Firefox 或 Chrome,您可以下载并使用适用于它们的 AutoIt UDF here and here。它们具有与我在示例中使用的功能相似的功能。不过要提醒一句。 Firefox 和 Chrome UDF 都要求您安装额外的插件。这意味着您编写的任何脚本都将取决于具有这些插件的浏览器。

示例 1

#include <IE.au3>

SeachForUser("MrAutoIt")

Func SeachForUser($sUser)
    Local $oIE = _IECreate("http://whosebug.com/users")
    Local $hWnd = _IEPropertyGet($oIE, "hwnd")

    $oSearchBox = _IEGetObjById($oIE, "userfilter")
    _IEAction($oSearchBox, "focus")
    ControlSend($hWnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", $sUser & "{Enter}")
EndFunc   ;==>SeachForUser

示例 2

#include <IE.au3>

SeachGoogle("mary poppins")

Func SeachGoogle($sSeach)
    Local $oIE = _IECreate("http://www.google.com")
    Local $oForm = _IEFormGetCollection($oIE, 0)
    Local $oSearchBox = _IEFormElementGetCollection($oForm, 4)

    _IEFormElementSetValue($oSearchBox, $sSeach)
    _IEFormSubmit($oForm)
EndFunc   ;==>SeachGoogle