我需要幫助,我正在嘗試使用 VBA 在下面的網站中“選擇”第二個復選框(單選),但我無法做到這一點,您能幫幫我嗎?
1 - URL = https://ptax.bcb.gov.br/ptax_internet/consultaBoletim.do?method=gerarCSVTodasAsMoedas&id ||| 2 - 按鈕是:Cota??es de fechamento de todas as moedas em uma data。||| 3 - 點擊按鈕“Pesquisar”||| 4 - 下載 CSV(下圖)以打開這些鏈接。||| 4.1 如果我們可以自動化這個“點擊”,我們不需要查看日期,網站已經這樣做了||| 5 - 此外,如果我們可以在 VBA 中創建一個回圈以始終更改此 URL 的最后一個數字,我們還可以下載我需要下載的作業簿嗎?||| 6 - 需要將此檔案保存在此路徑:C:\Temp\BASES\TBEX-OB08\todasasmoedas.csv
我們可以自動化 LAS 號碼的鏈接:因為此鏈接全天更改為 1 號碼檢查如下:11/08/2021 https://ptax.bcb.gov.br/ptax_internet/consultaBoletim.do?method=gerarCSVTodasAsMoedas&id=61795 2021 年 10 月 8 日 https://ptax.bcb.gov.br/ptax_internet/consultaBoletim.do?method=gerarCSVTodasAsMoedas&id=61794
Sub Web_Taxes()
Dim IE As Object
Dim URL As String
Set IE = CreateObject("InternetExplorer.Application")
URL = "https://www.bcb.gov.br/estabilidadefinanceira/historicocotacoes"
IE.Navigate URL
'Do While IE.busy Or IE.ReadyState <> 4
'Loop
'Need to select the button bellow in the website, it is the second "radio" button in the website.
'<input name="RadOpcao" id="RadOpcao" onclick="Opcao2()" type="radio" value="2">
IE.document.All.Item("RadOpcao").Item(2).Checked = True
End Sub
這是我需要搜索的方式(選擇了第二個按鈕)
另外,如果您知道通過本網站抓取所有貨幣資訊的其他方法,請告訴我,
謝謝””
uj5u.com熱心網友回復:
經過一些簡單的測驗,我發現單選按鈕位于iframe元素中,并且元素的內容iframe(ptax.bcb.gov.br)與父頁面(www.bcb.gov)不屬于同一個域。 br ),所以我認為不可能正確地獲得無線電元件以實作自動化。
如果需要將下載檔案指定到特定的路徑,也可以嘗試使用VBA修改相關注冊表路徑中的資料:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer,找到將字串的值Download Directory改為你要指定為IE的默認下載的新路徑目錄。
或者您可以手動更改它,如下所示:打開 IE 瀏覽器 -> 設定 -> 查看下載 -> 單擊彈出視窗中的選項 -> 瀏覽器 -> 選擇您需要的特定檔案路徑。
uj5u.com熱心網友回復:
我會用這個:
Dim IE As InternetExplorer
Dim doc As MSHTML.HTMLDocument 'as HTML Document Object
Set IE = New InternetExplorer
IE.Visible = True ' Set to true to watch what's happening
IE.navigate "https://www.bcb.gov.br/estabilidadefinanceira/historicocotacoes"
Set doc = IE.document
doc.getElementsByName("RadOpcao")(2).checked = True
(2) 用于名稱“Rad0pcao”下的第三項(以 0 開頭)
----也許它對你有用......
如果要單擊按鈕,請執行以下操作:
doc.getElementById("ID").Click
或這個
doc.getElementsByClassName("CLASSNAME")(0).Click
如果你想選擇一些嘗試
doc.getElementsByClassName("CLASSNAME")(0).Value = "Value-Name"
當您使用 時getElementsByClassName,請注意這始終是一個陣列,因此您(0)在它之后有這個,用于此陣列中的第一個專案,或者您(1)用于第二個專案......等等。
也許它可以幫助你,玩得開心:D
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422771.html
標籤:
上一篇:如何連接有條件的元素?
