我正在尝试使用 Excel VBA macros
抓取网站。但是,我无法使用以下代码选择 drop down
列表:
Public Sub Public_Data_pulled()
Application.Calculation = xlCalculationAutomatic
Dim html As HTMLDocument, hTable As HTMLTable
Set html = New HTMLDocument
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://www.seleniumeasy.com/test/basic-select-dropdown-demo.html", False
.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
.send
html.body.innerHTML = .responseText
End With
Application.ScreenUpdating = False
Set hTable = html.getElementById("select-demo")
Title.selectedIndex = 5
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:0)
这是我用来从下拉列表中获取的代码的一部分。
Option Explicit
Public MyElement As Selenium.WebElement
Sub Fill_Report(report As String)
SearchFor = "select-demo"
If Not SearchElementdByID(SearchFor) Then GoTo errHandler
MyElement.Click
' Select
MyElement.AsSelect.SelectByText (report)
Exit Sub
errHandler:
Debug.Print Now() & "; " & Err.Number&; "; " & Err.Description
End
End Sub
Function SearchElementdByID(ByVal Search) As Boolean
Dim FindBy As New Selenium.By
Set MyElement = MyBrowser.FindElementById(Search)
MyElement.WaitDisplayed
SearchElementdByID = MyElement.IsDisplayed
End Function