Html VBA:单击网站下拉列表中的选项
如果可能很简单,我很抱歉,我是一个新手,但我已经研究了很多,但没有找到如何在下拉列表中单击此选项(XBT/USD): 我只显示了下面代码的列表,但我不知道如何选择XBT/USD,因为它在html源代码上没有IDHtml VBA:单击网站下拉列表中的选项,html,vba,internet-explorer,Html,Vba,Internet Explorer,如果可能很简单,我很抱歉,我是一个新手,但我已经研究了很多,但没有找到如何在下拉列表中单击此选项(XBT/USD): 我只显示了下面代码的列表,但我不知道如何选择XBT/USD,因为它在html源代码上没有ID Option Explicit Sub BrowseToSite() Dim IE As New SHDocVw.InternetExplorer Dim oSelect As HTMLInputButtonElement IE.Visible = True IE.Navigate
Option Explicit
Sub BrowseToSite()
Dim IE As New SHDocVw.InternetExplorer
Dim oSelect As HTMLInputButtonElement
IE.Visible = True
IE.Navigate "https://www.kraken.com/charts"
Do While IE.ReadyState <> READYSTATE_COMPLETE
Loop
IE.Document.getElementById("pairselect-button").Click
End Sub
选项显式
子浏览器位置()
Dim IE作为新的SHDocVw.InternetExplorer
Dim O选择为HTMLInputButtonneElement
可见=真实
即“导航”https://www.kraken.com/charts"
在IE.ReadyState ReadyState\u完成时执行此操作
环
IE.Document.getElementById(“pairselect按钮”)。单击
端接头
根据inspect元素的HTML代码:
< a tabindex="-1" class="currpairs" data-pair-text="XBT/USD" data-pair="XBTUSD">XBT/USD</a >
XBT/USD
提前感谢您的宝贵回复。您就快到了。您已找到下拉菜单。您只需单击
XBT/USD
。我想到的最简单的方法是使用getElementsByClassName
,但你不必使用它。您也可以使用xpath或标记名找到它们
嗯,如果你检查源代码,你会看到有很多class=“currpairs”
。若您将鼠标悬停在它们上,您将看到它们属于下拉列表中的每个项目<代码>XBT/USD是列表中的第二项。因此,代码中缺少的部分是:
IE.Document.getElementsByClassName(“currpairs”)(1)。单击
注意,我们在获得类currpairs
后使用了(1)。这是因为计数从列表中的0开始。因此(0)表示列表中的第一项XBT/EUR
,而(1)表示第二项XBT/USD
希望这有帮助。在我的手机上,所以我不能很好地摆弄这个网站。有一个getElementsByCassName方法可用于返回具有类名的元素集合,您应该能够迭代这些元素并读取内部HTML,直到找到要单击的元素为止。