在VBA中,我想知道是否可以单击此HTML按钮而不使用Id和Name属性:
<ul aria-hidden="false" role="menu">
<li>
<button ..></button>
</li>
<li>
<button ..></button>
</li>
<li> <!-- THE THIRD li, I would like to access this button -->
<button title="exporter" role="menuitem" data-ng-disabled="myfunction()">my text</button>
</li>
</ul>
对于具有Id或名称的其他元素,我的方法如下:
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "site.com"
IE.document.getElementById("submitBtn").Click
// IE.document.getElementByName("submitBtn").Click
但在我之前的例子中没有&#34; Id&#34;或&#34;名称&#34;可用,只有按钮的标题属性,是否有可能访问此按钮?
有什么想法吗?
我尝试的另一种方式但也没有工作:
目标是单击按钮,所以我尝试直接执行&#34; myfunction()&#34;,如下所示:
IE.document.parentWindow.execScript "myfunction()", "Javascript"
btu我收到执行错误(错误80020101)..任何想法?
答案 0 :(得分:1)
您是否尝试遍历元素并查看可能的方法来检索它的检测方式?
For Each element In IE.Document.all
If element.className = "exporter" Then
Set LookedElement = element
Exit For
End If
Next
设置元素的其他有用功能
Set elems = IE.Document.getelementsbytagname("exporter")
Set elems = IE.Document.getElementsByName("exporter")
添加引用(引用 - > Microsoft Internet控件)可能更有用,这样您就可以看到IE可用的所有命令,而不是后期绑定。