我正在编写 VBA 代码来从用户那里获取股票代码,导航到网站,输入股票代码并单击相应的链接。
我研究了这个StackOverflow 问题和回复 https://stackoverflow.com/questions/21002756/how-to-click-on-a-hyperlink-on-a-web-page-using-vba-excel,但是,我没有可用的内部文本值。
我的VBA代码:
Sub clicklick()
Dim ie As Object
Dim form As Variant, button As Variant
Set ie = CreateObject("InternetExplorer.Application")
ticker = InputBox("Enter Ticker Symbol: ")
With ie
.Visible = True
.Navigate ("http://www.SITE_URL.com")
While ie.ReadyState <> 4
DoEvents
Wend
ie.document.getElementsbyName("sSrchTerm").Item.innertext = ticker
End With
End Sub
该链接在页面源中显示如下:
<a class="hqt_button" href="javascript:void(0): onclick=HeaderBox.trySubmit()"></a>
该元素似乎没有名称、内部文本或 ID。我怎样才能点击链接?
EDIT:
Set Link = ie.document.getElementsByTagName("a")
For Each l In Link
If Link.classname = "hqt_button" Then
Link.Click
Exit For
End If
Next l
尝试获取锚标签的集合,方法是:
GetElementsByTagName("a")
然后,使用尽可能多的逻辑迭代该集合,以确保单击正确的按钮。
For each l in ie.document.getElementsByTagName("a")
If l.ClassName = "hqt_button" Then
l.Click
Exit For
Next
如果有多个具有相同类名的锚点,您可以这样做:
If l.ClassName = "hqt_button" AND l.Href = ""javascript:void(0): onclick=HeaderBox.trySubmit()" Then
l.Click
Exit For
Next
或者
如果您使用的是 IE9+,您可以使用GetElementsByClassName
method.
GetElementsByClassName("hqt_button")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)