2016-08-27 8 views
0

Ich versuche, einen Preis von Flug zu machen excel schaben von der Website https://skrendu.lt/lt/flights/VNOc-OPOc/2016-09-15/1VBA schaben Preis von der Website

Sub Macro() 
Dim IE As New InternetExplorer 
IE.Visible = True 
IE.navigate "https://skrendu.lt/lt/flights/VNOc-OPOc/2016-09-15/1" 

Do 
DoEvents 
Loop Until IE.readyState = READYSTATE_COMPLETE 
Application.Wait (Now() + TimeValue("00:00:010")) 

Dim Doc As HTMLDocument 
Set Doc = IE.document 

Dim sTR As String 
sTR = Doc.getElementsByClassName("ng-binding ng-scope")(0).innerText 
Range(A1) = sTR 

IE.Quit 
End Sub 

Jedoch habe ich Fehler 400. Irgendwelche Ideen auf, warum man es nicht?

Der Teil I aus dem HTML verwenden ist:

HTML code

+0

IE.Quit? ??? ? – cutzero

+2

für den Start würde ich nicht aufhören, dh bis zum Ende des Sub. Verschieben Sie diese Zeile bis zum Ende – MacroMarc

+0

Ich habe es bereits versucht, immer noch den gleichen Fehler –

Antwort

0

Dieser Code scheint für mich zu arbeiten. Ich habe bemerkt, dass Sie die " um den Bereich A1 vermissen.

Hier ist etwas Arbeitscode, müssen Sie möglicherweise die Wartezeit anpassen oder eine bessere Wartezeit für die Seite zu laden Technik planen.

Sub FindPrice() 
    Dim IE As New InternetExplorer 

    With IE 
     .Visible = True 
     .navigate "https://skrendu.lt/lt/flights/VNOc-OPOc/2016-09-15/1" 
     Application.Wait (Now() + TimeValue("00:00:06")) ' Wait a bit 

     While .readystate <> READYSTATE_COMPLETE Or .busy 
      Application.Wait (Now() + TimeValue("00:00:01")) 
     Wend 

     Range("A1").Value = IE.document.getElementsByClassName("ng-binding ng-scope")(0).innerText 
    End With 

End Sub