javascript - VBA : access an HTML elements without Id or Name

标签 javascript html vba excel automation

在 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/

相关文章:

vba - 无法停止将行从工作表导入到另一个工作表的循环

excel - MS Access Nz() 函数无法在 MS Excel 中识别

javascript - 即,javascript 和 'item' 作为变量名

javascript - 在空用户输入上使用 JSON.stringify 时如何检查假值

javascript - 这个解决方案是否正确处理 DOM 内存泄漏

javascript - 根据多个下拉菜单的结果加载特定div

javascript - iframe 未生成但具有警报的相同代码有效

css - 在一个 div 容器标签中居中多个嵌套的 div 标签

javascript - 悬停共享链接的麻烦

excel - 查找 Excel 工作表中最后一条彩色线