我是VBA的新手,偶然发现了这个问题,我恳求使用vba代码自动单击网站上的“提交”按钮。我已经多次调整了代码,但始终跳过了“ e.click”行。下面是我最近的代码和网站元素的图像。
希望有人可以在这里开灯。
Set tags = objIE.Document.getElementById("alltab").getElementsByTagName("a")
For Each e In tags
If e.getAttribute("alt") = "Submit a Contract" Then
e.Click
End If
next
答案 0 :(得分:1)
您可以简单地为alt
属性使用attribute = value选择器。好又快。如果不需要,您不想循环整个集合。另外,在任何循环中,您都想找到我认为的Exit For
。
objIE.document.querySelector("[alt='Submit a Contract']").click
答案 1 :(得分:0)
请检查您的代码,从屏幕截图中可以看出,超链接(html标记)不在alltab表中。
请尝试按类名查找表并修改代码以添加ID属性:
按ID属性查找表(为第二个表添加ID属性):
Set tags = doc.getElementById("table id").getElementsByTagName("a")
For Each e In tags
If e.getAttribute("alt") = "Submit a Contract" Then
e.Click
End If
Next e
或
通过类名称查找表:
Set tags = doc.getElementsByClassName("belowDealButtonBox")(0).getElementsByTagName("a")
For Each e In tags
If e.getAttribute("alt") = "Submit a Contract" Then
e.Click
End If
Next e