Html VBA:单击网站下拉列表中的选项

Html 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

如果可能很简单,我很抱歉,我是一个新手,但我已经研究了很多,但没有找到如何在下拉列表中单击此选项(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 "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,直到找到要单击的元素为止。