【发布时间】:2018-12-01 19:33:50
【问题描述】:
我正在尝试使用 VBA 从网站下载雨量计数据。
我找到了用户输入定义的雨量计站号。搜索完成后,我的代码选中雨量站对应的复选框,数据格式不起作用。
当我手动执行此操作时,搜索完成后,我必须单击“Dados Convencionais”以显示搜索结果。我找不到在代码中执行此操作的方法。
Sub DownloadCSV()
Dim SearchString As String
Dim SearchBox As Object
Dim SearchButton As Object
Dim SelectionStationButton As Object
Dim SelectionCSVButton As Object
Dim DownloadButton As Object
Dim ie As New InternetExplorer
'User inputs station number
SearchString = InputBox("Input rain gauge station number", "Download data HidroWeb", "Station number- e.g. 02044054")
With ie
.Visible = True
.Navigate "http://www.snirh.gov.br/hidroweb/publico/medicoes_historicas_abas.jsf"
While ie.ReadyState <> 4
DoEvents
Wend
'Station number to be searched
Set SearchBox = .Document.getElementById("form:fsListaEstacoes:codigoEstacao")
SearchBox.Value = SearchString
'Search button click
Set SearchButton = .Document.getElementById("form:fsListaEstacoes:bt")
SearchButton.Click
'select checkbox beside the station number
Set SelectionStationButton = .Document.getElementById("form:fsListaEstacoes:fsListaEstacoesC:j_idt178:table:0:ckbSelecionada")
SelectionStationButton.Click
'Select data format - Arquivo Excel(.CSV)
Set SelectionCSVButton = .Document.getElementById("form:fsListaEstacoes:fsListaEstacoesC:radTipoArquivo:2")
SelectionCSVButton.Click
'click download button
Set DownloadButton = .Document.getElementById("form:fsListaEstacoes:fsListaEstacoesC:btBaixar")
DownloadButton.Click
End With
End Sub
【问题讨论】:
-
顺便说一句好帖子。希望所有新的贡献者都表现出这么大的努力。 +
标签: html excel vba web-scraping