我正在尝试在VBA模块中获取代码以单击网页上的特定链接,但是有两个具有相同名称(“编辑”)的截然不同的链接,我似乎无法单击想要的那个链接选择(两个中的第二个)。
使用我当前拥有的代码,我可以访问第一个“编辑”链接,但是我需要访问第二个“编辑”链接。
这是我目前拥有的:
Set AllHyperLinks = IE.document.getElementsByTagName("a")
For Each hyper_link In AllHyperLinks
If hyper_link.innerText = "Edit" Then
hyper_link.Click
Exit For
End If
Next
链接如下显示在页面源中:
第一个“编辑”链接
<a href="javascript:__doPostBack('ctl04$ctl00$ctl00$esbasegrid_$ctl02$ctl00','')">Edit</a>
第二个“编辑”链接( 我要单击的那个 )
<a href="javascript:__doPostBack('ctl04$ctl00$ctl01$esbasegrid_$ctl02$ctl00','')">Edit</a>
如上所述,我想单击第二个“编辑”链接,但是我的代码是单击第一个。
VBA相对较新,因此不胜感激!
答案 0 :(得分:0)
您可以执行以下操作:
Dim i As Long
Set AllHyperLinks = IE.document.getElementsByTagName("a")
For Each hyper_link In AllHyperLinks
Debug.Print "Link", hyper_link.innerText
If hyper_link.innerText = "Edit" Then
i = i + 1
Debug.Print , "Edit Link #" & i
If i = 2 Then
Debug.Print , "Clicking...!"
hyper_link.Click
Exit For
End If
End If
Next