【问题标题】:AutoIt Clicking a onClick Javascript button with no name or id only class in IEAutoIt 单击 IE 中没有名称或只有 ID 类的 onClick Javascript 按钮
【发布时间】:2016-04-26 19:34:27
【问题描述】:

尝试编写一个按钮单击亚马逊网站上的按钮,如下所示:

  <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

【问题讨论】:

    标签: javascript internet-explorer onclick autoit


    【解决方案1】:

    我没有时间为您编写解决方案的脚本,但我可以告诉您我会怎么做。诀窍是不要点击按钮,而是点击它的位置。 这仅在 GUI 始终具有相同比例时才有效。

    1. 您检测到窗口的位置。只要它有一个名字,这应该可以工作。
    2. 您可以使用 AutoIt Window Info 检测按钮相对于窗口的位置。
    3. 您添加两个值并单击该位置。

    您可以使用MouseClick点击某个位置。

    【讨论】:

    • 成功了!但正如您所提到的,我看到一个问题,如果我用不同的桌面切换,那么代码将无法正常工作,因为窗口大小会不同。
    • 有称为 (AT)DesktopWidth 和 (AT)DesktopHeight 的快捷方式。即使使用不同的屏幕分辨率,您也可以使用这些计算位置。很高兴我能帮上忙。
    猜你喜欢
    • 2015-11-02
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多