网页抓取时无法选择下拉列表

时间:2021-07-15 19:49:55

标签: excel vba web-scraping

我正在尝试使用 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

Image of the drop down list

1 个答案:

答案 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