Javascript 如何使用VBA在IE上使用Java类型按钮
请告知我如何启动。单击IE网站[VBA]上“按此处”按钮上的[或其他]按钮?我试着用类名、标记名甚至Id来调用它,这些在网站源代码中都没有说明Javascript 如何使用VBA在IE上使用Java类型按钮,javascript,vba,internet-explorer,Javascript,Vba,Internet Explorer,请告知我如何启动。单击IE网站[VBA]上“按此处”按钮上的[或其他]按钮?我试着用类名、标记名甚至Id来调用它,这些在网站源代码中都没有说明 <tr> <td class="center edl_checkbox" style="padding-left: 15px;"> <input type="hidden" name="_orgSearchResultList[1].isSelected"> <label
<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
按此处
CSS选择器:
您可以使用的是:a[onclick='javascript:doSubmit('Edit-1');']
这表示获取带有a
标记的元素,该标记具有属性onclick
,其值包含“javascript:doSubmit('Edit-1');”代码>
CSS查询:
VBA:
单个元素的CSS选择器通过document方法应用。因此,您需要一个HTMLDocument
来进行查询。通过IE实例的.document
,当使用IE浏览页面并已加载时,或者通过从HTTPrequest/WinHTTP
加载带有responseText
的HTMLDocument
对象
例如,页面加载后:
ie.document.querySelector("a[onclick='javascript:doSubmit('Edit-1');']").Click
这里,ie
是您的Internet Explorer浏览器实例
查询选择全部:
我假设这将匹配单个元素,或者第一个元素是必需的。看起来很具体。如果有多个匹配的元素,则可以使用方法返回节点列表
。然后,您将按位置(从0)索引到该节点列表中,例如
.document.querySelectorAll("a[onclick='javascript:doSubmit('Edit-1');']").item(1).Click
或者可能
.document.querySelectorAll("a[onclick='javascript:doSubmit('Edit-1');']")(1).Click
上面的1是一个示例索引,它位于基于0的节点列表中的位置2。试试这个,让我们知道反馈
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
我收到的答案是:“对象“JScript类型信息”的方法“querySelector”失败。它不喜欢部分javascript行。等一下。嗨,QHarr,谢谢你的帮助,但这两种方法对我都不起作用,而SIM的线路很成功。我确信您的方法同样有效,但可能是我无法使用querySelector阻止了我的成功。干杯,我明天早上复习。谢谢(我会回答)不用担心,谢谢你这么说。SIM非常棒,所以你有很好的管理。你的环境是什么(VB.net、某些Office应用程序中的VBA、浏览器中的VBScript或其他)?请显示您迄今为止尝试过的代码,这样我们就可以看到您首先是如何访问HTML文档的。IE.Document.querySelector(“a[title='PressHERE']”)。单击更合理的选项+1