나는 VBA에서 초보자이며, 약간의 연습을 위해 Expedia (SG에서 방콕까지)의 비행 가격을 추출하려고 노력하고 있었다. 불행히도 내 코드가 제대로 작동하지 않습니다. 그것은 단지 하나의 가격만을 반환했습니다 (나는 그것이 어디서 왔는지 전혀 모릅니다). 누군가가 나를 도울 수 있다면 정말로 감사 할 것입니다. 고맙습니다! 문제는 여기에있다VBA를 사용하여 웹 사이트에서 데이터를 긁는 방법은 무엇입니까?
Sub ExtractRaw()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Sheets("Sheet1")
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True .navigate "https://www.expedia.com.sg/Flights-Search?rfrr=TG.LP.SrchWzd.Flight&langid=2057&trip=OneWay&leg1=from:Singapore,%20Singapore%20(SIN-Changi),to:Bangkok,%20Thailand%20(BKK-Suvarnabhumi%20Intl.),departure:" & DateAdd("d", 1, Date) & "TANYT&passengers=children:0,adults:1,seniors:0,infantinlap:Y&options=cabinclass:economy,sortby:price,carrier:&mode=search&paandi=true"
Do While ie.Busy
DoEvents
Loop
Dim doc As HTMLDocument
Set doc = ie.document
While ie.readyState <> 4
Wend
On Error Resume Next
Dim i As Integer For i = 0 To 200
Range("A1").Value = ie.document.getElementById("flight-listing-container").getElementsByClassName("dollars price-emphasis")(i).innerText
Next i
ie.Quit
Application.EnableEvents = True
End With
End Sub
이 게시물의 답변보기 : https://stackoverflow.com/questions/44955755/extracting-the-inner-text-from-span-using-vba/44956013#44956013 –