2016-11-30 1 views
0

Ich arbeite am Vergleichen von Preisen, um zu versuchen, meine zum Preis zu bekommen. Ich habe einen Code, der gut funktioniert, um etwas Web zu kratzen, aber ich habe ein Paar, das die Daten hat, die ich "Preis" in die Div-Klasse bringen will und mein Code erlaubt es mir nicht, es zu bringen. Ich habe daran gearbeitet, aber ich kann immer noch nicht herausfinden, wie. Wenn jemand von euch mir dabei helfen kann, werde ich dankbar sein. Hier ist die Bahn eines der Produkt: https://www.jumbo.com.ar/Comprar/Home.aspx?#_atCategory=false&_atGrilla=true&_query=chivas%20regal Ich muss sagen, die kleinen Preis Wich ziehen: "### (Preis) por litro" Blick auf den Code wich ist:Scrape Div Klasse von VBA

$ 1.025,33 por Lt

aber ist im Inneren bedeuten, previus 16 weitere Div haben nach

Mein Code ist: Dim IE As Object

Set IE = CreateObject("InternetExplorer.Application") 

IE.Visible = False 

    IE.navigate "https://www.jumbo.com.ar/Comprar/Home.aspx?#_atCategory=false&_atGrilla=true&_query=chivas%20regal" 


Application.StatusBar = "Loading, Please wait..." 


Do While IE.Busy 
    Application.Wait DateAdd("s", 1, Now) 
Loop 

Application.StatusBar = "Searching for value. Please wait..." 

Dim dda As String 

DDA = IE.document.getElementsByClassName ("Produkt-Preis-pro-Einheit „) (0) .innerText

ActiveSheet.Range("b2").Value = dda 
+0

Sie können mit 'set-Elemente = ie.document.getElementsByClassName ("grilla-Product-unidades")' eine Sammlung von Elementen erstellen. Dies sollte alle Elemente zurückgeben und dann durch jeden von ihnen durchlaufen, um den inneren Text zurückzugeben. Wie: 'Für jedes Element in Elements Debug.Print Element.Innertext nächsten' –

+0

Danke Ryan ... ich war triying aber nicht funktioniert, wie muss ich tun, Element zu dimmen? – MarinaMontero

Antwort

0

nicht funktioniert! ... Vielleicht muss ich als Sammlung dimmen? ... Auch ohne die oben Version ich den Preis bekommen kann, sondern als‚00.0‘.. .und wenn ich DDA als integer dim ... ist der Code falsch

Dim IE As Object Set IE = Create ("InternetExplorer.Application")

IE.Visible = False 


IE.navigate "https://www.jumbo.com.ar/Comprar/Home.aspx?#_atCategory=false&_atGrilla=true&_id=24133" 
Application.StatusBar = "Loading, Please wait..." 

Do While IE.Busy 
    Application.Wait DateAdd("s", 1, Now) 
Loop 
Application.StatusBar = "Searching for value. Please wait..." 


Dim dda As String 

DDA = IE.Document.getElementsByClassName ("Produkt-Preis") '0) .innerText ' Für jedes Element In d da Debug.Print Element.innerText Weiter

End Sub