如何使用VBA启用IE上的Java类型按钮

时间:2018-06-27 14:27:46

标签: javascript vba internet-explorer

能否请您告知我如何启动IE网站[VBA]上的“ PressHERE”按钮上单击[或替代方法]?我试图通过类名,标记名甚至ID来调用它,而这些ID在网站源代码中没有提到。

<tr>
    <td class="center edl_checkbox" style="padding-left: 15px;">
        <input type="hidden" name="_orgSearchResultList[1].isSelected">
        <label class="edl_chb">
            <input type="checkbox" id="1" name="orgSearchResultList[1].isSelected" value="true" />
            <span></span>
        </label>
    </td>
    <td class="center">
        <a href="#" onclick="javascript:doSubmit('Edit-1');" title="PressHERE">
            PressHERE
        </a>
        <input type="hidden" id="Org1" value="PressHERE"/>
    </td>
    <td class="center" title="PressHERE">
        PressHERE

在网站上“检查元素”时突出显示的特定行是:

<td class="center"><a href="#" onclick="javascript:doSubmit('Edit-1');" title="PressHERE">PressHERE

2 个答案:

答案 0 :(得分:4)

尝试一下,让我们知道反馈。

Dim IE As New InternetExplorer, Html As HTMLDocument
Set Html = IE.document  'consider adding this line in your script in order for `.querySelector()` to run successfully
Html.querySelector("a[title='PressHERE']").Click

答案 1 :(得分:2)

CSS选择器:

您可以使用a[onclick='javascript:doSubmit('Edit-1');']中的CSS selector

这表示获取带有a标签的元素,这些元素具有属性onclick,其值包含'javascript:doSubmit('Edit-1');'


CSS查询:

CSS query


VBA:

通过文档的.querySelector方法为单个元素应用CSS选择器。因此,您需要使用HTMLDocument进行查询。通过IE实例的.document,当使用IE浏览到页面并且页面已经加载时,或者通过从HTMLDocument加载responseText的{​​{1}}对象。 / p>

例如页面加载后:

HTTPrequest/WinHTTP

在这里ie.document.querySelector("a[onclick='javascript:doSubmit('Edit-1');']").Click 是您的Internet Explorer浏览器实例。


querySelectorAll:

我假设这将匹配单个元素,或者第一个是必需的元素。它看起来很具体。如果存在多个匹配的元素,则可以使用.querySelectorAll方法返回ie。然后,您将按位置(从0开始)索引到该nodeList中,例如

nodeList

或可能

.document.querySelectorAll("a[onclick='javascript:doSubmit('Edit-1');']").item(1).Click

上面的1是一个示例索引,该索引将位于基于0的nodeList中的位置2。