首页 > 解决方案 > 尝试单击网页中的按钮,但找不到类名

问题描述

我正在尝试单击下面 URL 中的按钮,然后下载 CSV 文件。

https://www.ftportfolios.com/retail/etf/targetoutcometools.aspx?ticker=BGLD

该按钮的文本内容为“点击下载”。

在此处输入图像描述

这是后端的图像。

在此处输入图像描述

我似乎无法让 VBA 识别按钮。我尝试了一些想法。这是我最近的尝试。

Sub ClickIt()

Dim oHtml       As HTMLDocument
Dim oElement    As Object

Set oHtml = New HTMLDocument


With CreateObject("WINHTTP.WinHTTPRequest.5.1")
    .Open "GET", "https://www.ftportfolios.com/retail/etf/targetoutcometools.aspx?ticker=BGLD", False
    .send
    oHtml.body.innerHTML = .responseText
End With

For Each oElement In oHtml.getElementsByClassName("*" & "highcharts-button highcharts-contextbutton" & "*")
    Debug.Print oElement.Children(0).src
Next oElement

End Sub

几乎看起来 JavaScript 被用于从另一个来源提取数据。关于如何自动化这个下载过程的任何想法?

标签: htmlexcelvbaweb-scraping

解决方案


在控制台测试表明可以点击相关的tspan

ie.document.querySelector(".highcharts-exporting-group tspan").click

推荐阅读