Hallo
- Mag sein, dass die Erzeugung der Webseite was mit
JavaScript zu tun hat… Wie gesagt, kenne mich da nicht
wirklich aus… Aber ist es letztendlich nicht egal, wie
Webseiten-Elemente erzeugt werden? Für mich ist es halt nur
wichtig die Webseite auszulesen.
der befehl getElementByID ist JAVASCRIPT …
- Ja hab ich. Allerdings weiß ich nicht, was das bringen
soll, da es um eine allgemeine Frage geht: Vorhandensein
identischer IDs und Ansprechen der Elemente. Aber falls es
hilft:
wenn ich dich Frage wie ich am Auto weiterbasteln soll , wäre es nur sinnvoll zu wissen was für ein Auto vor allem welche marke , denn alles was ich dann hole muss ja auch für dieses auto passen .
Sub RedundanteIDs()
Dim objIE As Object
Dim objElement As Object
Set objIE = CreateObject(„InternetExplorer.Application“)
objIE.Visible = True
objIE.navigate „www.kleinanzeigen.ebay.de“
'ggf. Einloggen, auf „Anzeigen aufgeben“ gehen und bis Rubrik
„Auto…/Autos/Audi“ klicken,
'so dass die Modelle erscheinen -> dann die MsgBox bestätigen
MsgBox „Jetzt navigieren…“
For Each objElement In objIE.document.all
If objElement.ID = „cat_80“ Then Debug.Print
objElement.innertext
Next
Debug.Print „**********************“
Debug.Print objIE.document.getelementbyid(„cat_80“).innertext
Set objIE = Nothing
End Sub
Ok , nun weiss ich auch wie Du vorgehen tust
- Nein, „getElemtenById“ liefert nur einen Wert, den ERSTEN
mit der Id. Es wird also nicht wie bei „getElemtensByName“ zu
einem Array.
das ist schade , hätte aber sein können .
- Keine Ahnung, ob und wie das geht. Außerdem wären dass dann
je redundante ID eine spezielle Ausnahmebehandlung. Dann
könnte ich auch das ganze per for…each-Schleife auslesen und
dort abfragen. Das ist aber nicht gewollt.
redundant ??? Ja jetzt wo ich dein code sehe ist es tatsächlich redundant bzw auch nicht, weil so wie es ist, funktioniert es ja nur für das erste element. Und da dein getelemntByid kein array liefert, würde ich gerne von Dir wissen wie willst du es denn sont lösen ??? , erstmal alles in die richtige form bringen , dann bearbeiten. das nennt sichnciht redundant sondern formalisieren .
- Siehe Code unter Punkt 2.
ok
- Mein Reden… Aber ich glaube nicht, dass man da weit mit
kommt (siehe URL)
ok , du nimmst also fremde webseiten , haste nix von gesagt, du hast nur von HTML dateien gesprochen und diese können durchaus via email anhang komen.
So, ich hoffe, dass nun alle Angaben vorliegen. Falls nicht,
einfach noch mal posten.
Jup , aber wie gesagt erst formalisieren und dann einlesen , das du dann logisch zweimal dieselbe datei einlieest , oder das intern machst ist klar , aber denk daran , wenn die möglichkeit nicht direkt funktioniert, dann musst du halt so arbeiten .
Ich kenne nun VBA nicht genau (voll lange her) , in php und perl würde ich mit match arbeiten , da ist die ID die gleich ist sogar von Vorteil .
regexp z.b.
/(