Mit XPATH auf den Inhalt eines class-Atttributs zugreifen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
banaguitar
User
Beiträge: 7
Registriert: Freitag 12. Juli 2019, 08:22

Hallo,

ich möchte gerne mit XPATH auf den Inhalt eines class-Attributes zugreifen. Geht das irgendwie?

...<a href class="form-bg form-l 3 glib-event-bJEuzNwR glib-participants-lQvENR7I-IFgZ7CIA"></a>...

Code: Alles auswählen

tform = driver.find_elements_by_xpath("//table[@id = 'table-type-1']/tbody/tr/td[@class ='form col_form']/div/a[@class]")
Benutzeravatar
__blackjack__
User
Beiträge: 13071
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@banaguitar: Ja, das geht.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
banaguitar
User
Beiträge: 7
Registriert: Freitag 12. Juli 2019, 08:22

Super, danke!
banaguitar
User
Beiträge: 7
Registriert: Freitag 12. Juli 2019, 08:22

Unter welchem Stichwort muss ich suchen?
__deets__
User
Beiträge: 14523
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du hast schon alle Stichworte selbst genannt. XPATH kann auf beliebige Attribute matchen. Du musst jetzt halt einen Ausdruck bauen, der das richtige macht. Und da das class-Attribut ja recht wichtig ist, wirst du da Unmengen von Posts zB auf stackoverflow finden.
banaguitar
User
Beiträge: 7
Registriert: Freitag 12. Juli 2019, 08:22

Der Ausdruck oben passt, nur leider wird mir nichts angezeigt.
__deets__
User
Beiträge: 14523
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dann passt er ja nicht. Sonst würde ja was angezeigt werden. Und das letzte @class ohne irgendwas sieht falsch aus.
Benutzeravatar
__blackjack__
User
Beiträge: 13071
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@__deets__: Also der Ausdruck passt schon, im Sinne von der „matched“ sofern das davor alles stimmt. Und der sollte auch etwas liefern, nämlich alle <a>-Elemente die durch den XPath beschrieben werden. ``element[@attribute]`` ist auch nicht per se falsch – Wenn man nur das Attribut angibt, dann wird auf Existenz des Attributs geprüft, egal was für einen Inhalt das hat.

@banaguitar: Also wenn der Pfad wirklich gar kein Ergebnis liefert, dann ist entweder davor schon was falsch, oder es gibt solche Elemente in dem Dokument nicht.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
banaguitar
User
Beiträge: 7
Registriert: Freitag 12. Juli 2019, 08:22

Es wird genau die korrekte Anzahl von Treffern angezeigt, nur ist da nichts drin.
banaguitar
User
Beiträge: 7
Registriert: Freitag 12. Juli 2019, 08:22

Die Strings sind leider leer. Gut, die Website benutzt viel Javascript, aber deshalb nutze ich ja den Webdriver. Auch schon auf stackoverflow die Frage gestellt. Leider keine Antwort.
Antworten