Ich versuche, Monat-zu-Datum und Jahr-zu-Datum Rückgabewerte von der Website http://us.spindices.com/indices/equity/sp-oil-gas-exploration-production-select-industry-index in eine Excel-Tabelle mit VBA zu erhalten. Das Problem ist, dass es im Code der Seite kein "id =" gibt, was meiner Meinung nach diesen Prozess viel einfacher machen würde. Es gibt auch die Frage, welcher Zeitraum (Jahr-zu-Datum oder Monat-zu-Datum) sichtbar ist, aber ich würde mich freuen, gerade die MTD-Werte für jetzt zu kratzen.scrape html ohne ID in VBA
Hier ist mein Code:
Sub Get_Change()
'attempting to scrape Barclay's website
Dim appIE As Object
Dim MyVar As String
Set appIE = CreateObject("internetexplorer.application")
With appIE
.Navigate "http://us.spindices.com/indices/equity/sp-oil-gas-exploration-production-select-industry-index"
.Visible = True
End With
Do While appIE.Busy
DoEvents
Range("A1").Value = "Working..."
Loop
Set TDelements = appIE.document.getElementsbyClassName("performance-chart-table")
For Each TDelement In TDelements
If TDelement.class = "change" Then
MyVar = TDelement.class.innerText("Value")
End If
Next
Range("A1").Value = MyVar
appIE.Quit
Set appIE = Nothing
End Sub
Wenn ich einen Weg können die ‚MyVar‘ Variable auf den aktuellen MTD oder YTD Wert zu setzen, ich getan werde, aber ich habe eine harte, die Zeit, da es keinen eindeutigen Bezeichner für einen dieser Werte gibt. Irgendwelche Ideen?
Wow, das ist großartig, danke! Ich bekomme einen Laufzeitfehler, wenn ich den Code ausführe. Gibt es ein Objekt, das ich in der Referenzbibliothek auswählen muss, damit es ordnungsgemäß ausgeführt wird? – DangeRuss
Zeile 34 - die, die endet .querySelectorAll (". Change"). Ich habe gegooglet, und ich weiß nicht sicher, wie man es repariert ... – DangeRuss
IE11 Fehler 91 ist die "Objektvariable oder mit Blockvariable nicht gesetzt" übrigens – DangeRuss