我试图写一个简短的VBA代码,通过它的类名首搜索点击一个按钮,在网站上,然后通过ID getElementsByClassName方法使用:VBA与getelementsbyid
Sub Autoclick[enter image description here][1]()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "http://stackoverflow.com/"
IE.Visible = True
While IE.Busy
DoEvents
Wend
IE.Document.getElementsByClassname("nav mainnavs").getElementById("nav-jobs").Click
End Sub
但是代码不会点击Jobs按钮。我知道我可以直接使用getelementbyid,但我仍然想知道为什么使用getelementsbyclassname和getelementbyid不起作用。
附加图片包含网站的html代码。
非常感谢您的帮助!
您需要指定元素集合的索引。 getElementsByClassName凭借其名称返回多个元素,这些多个记录将返回到Collection中。要指定您想要的元素,您可以执行以下操作。 IE.Document.getElementsByClassname(“nav mainnavs”)(0)。 (0)部分表示返回第一个元素。将它们结合在一起,可以这样做:IE.Document.getElementsByClassname(“nav mainnavs”)。getElementById(“nav-jobs”)。单击。 –