【问题标题】:Use AutoIT to select some elements in browser使用 AutoIT 在浏览器中选择一些元素
【发布时间】:2016-03-05 15:08:41
【问题描述】:

我想使用 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),但我不知道如何访问某个网站或对该网站采取一些操作。我该怎么做才能继续?

【问题讨论】:

  • FWIW:有许多基于 webdriver 的解决方案(例如 selenium),有多种语言可以满足这里的需求。

标签: windows browser automation autoit


【解决方案1】:

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

示例 1

#include <IE.au3>

SeachForUser("MrAutoIt")

Func SeachForUser($sUser)
    Local $oIE = _IECreate("http://stackoverflow.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

【讨论】:

  • 大声笑,看看那个礼貌的示例 1……“AutoIt 出了点问题……你要给谁打电话?”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-24
  • 2017-11-28
  • 1970-01-01
  • 2015-11-12
  • 2015-05-24
  • 1970-01-01
相关资源
最近更新 更多