在 VBA 中,我想知道是否可以单击没有 Id 和 Name 属性的 HTML 按钮:
<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
但在我之前的示例中,没有可用的“Id”或“Name”,只有按钮的标题属性,是否有可能访问此按钮?
有什么想法吗?
<小时/>我尝试过但也不起作用的另一种方法:
目标是点击按钮,所以我尝试直接执行“myfunction()”,如下所示:
IE.document.parentWindow.execScript "myfunction()", "Javascript"
btu 我收到执行错误(错误 80020101)..有什么想法吗?
最佳答案
您是否尝试过循环遍历这些元素并寻找一种可能的方法来检索它是如何被检测到的?
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 的所有命令,而不是后期绑定(bind)。
关于javascript - VBA : access an HTML elements without Id or Name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617315/