AutoIt单击IE中没有名称或ID的onClick Javascript按钮

时间:2016-01-20 19:26:59

标签: javascript internet-explorer onclick autoit

尝试编写按钮脚本,点击亚马逊网站上的按钮,如下所示:

  <span class="action-go" onclick="MYO.JS.handle_action($(this).parent().find('.action option:selected').attr('value'),&#10;     $(this).parent().find('.action option:selected').attr('url'));">
          <input width="21" height="21" align="absmiddle" type="image" src="https://images-na.ssl-images-amazon.com/images/G/01/abis-ui/buttons/go._V187564664_.gif" border="0">
        </span>

<input width="21" height="21" align="absmiddle" type="image" src="https://images-na.ssl-images-amazon.com/images/G/01/abis-ui/buttons/go._V187564664_.gif" border="0">

这就是我的尝试:

Func GetButtons()
    Local $oBtns = _IETagNameGetCollection($g_oIE, "span")
    For $oBtn In $oBtns
        If String($oBtn.classname) = "action-go" Then
            _IEAction($oBtn, "click")
        EndIf
        ExitLoop
Next
EndFunc

工作的解决方案

Func ClickButton()
$HWND = _IEPropertyGet($g_oIE, 'HWnd')
WinSetState($HWND, "", @SW_MAXIMIZE)
_IEAction($g_oIE,"visible")
_IELoadWait($g_oIE)
MouseClick($MOUSE_CLICK_LEFT, 290, 354, 2)
EndFunc   ;==>GetButtons

1 个答案:

答案 0 :(得分:1)

我没有时间给你编写解决方案,但我可以告诉你我该怎么做。诀窍是不要点击按钮,而是它的位置。 这仅适用于GUI总是具有相同的比例。

  1. 您检测到窗口的位置。只要它有一个名字,这应该有效。
  2. 使用AutoIt窗口信息检测按钮相对于窗口的位置。
  3. 您添加两个值并单击该位置。
  4. 您可以使用MouseClick点击某个位置。