Heim > Backend-Entwicklung > PHP-Tutorial > Wie wähle ich eine CSS-Klasse mit XPath richtig aus?

Wie wähle ich eine CSS-Klasse mit XPath richtig aus?

Patricia Arquette
Freigeben: 2024-12-08 22:46:14
Original
717 Leute haben es durchsucht

How to Correctly Select a CSS Class with XPath?

Auswahl einer CSS-Klasse mit XPath

Im Zusammenhang mit Web Scraping ist die genaue Ausrichtung auf bestimmte Elemente basierend auf ihren CSS-Klassen von entscheidender Bedeutung. Während CSS-Selektoren bei der Arbeit mit HTML unkompliziert sind, wird XPath erforderlich, wenn man mit XML-Dokumenten arbeitet oder fortgeschrittene Web-Scraping-Techniken verwendet.

Problem: Auswahl einer einzelnen Klasse mit XPath

Diese Frage ergibt sich aus der Sie müssen Elemente ausschließlich anhand ihrer „Datums“-Klasse mithilfe von XPath auswählen. Das bereitgestellte Code-Snippet führt jedoch zu unerwarteten Ergebnissen.

//[@class="date"]
Nach dem Login kopieren

Lösung: Das richtige XPath-Äquivalent

Um Elemente mit einer bestimmten Klasse in XPath richtig auszuwählen, sollte die folgende Syntax verwendet werden:

//*[contains(concat(" ", normalize-space(@class), " "), " foo ")]
Nach dem Login kopieren

In diesem Ausdruck:

  • normalize-space(@class) entfernt führendes und nachgestellte Leerzeichen und fasst mehrere Leerzeichen zu einem zusammen, um sicherzustellen, dass das Klassenattribut konsistent formatiert ist.
  • concat(" ", normalize-space(@class), " ") fügt Leerzeichen um den normalisierten Klassenwert hinzu, um ihn zu erstellen vergleichbar mit dem Zielklassennamen.
  • contains(...) sucht nach dem Zielklassennamen innerhalb des geänderten Klassenattributwerts.

Vermeiden Falsche Ansätze

Zwei häufige, aber fehlerhafte XPath-Selektoren, die Sie vermeiden sollten, sind:

  • //*[@class="date"]: Berücksichtigt keine Elemente mit mehreren Klassen.
  • //*[contains(@class, „date“)]: Entspricht Elementen mit Klassennamen, die „date“ enthalten, z. B. „foobar“. falsch.

Gutschrift

Die hier bereitgestellte Lösung wird einem anderen Web-Scraper zugeschrieben, der einen wertvollen Blog-Beitrag zu diesem speziellen Problem veröffentlicht hat. Unser Dank gilt ihnen für das Teilen ihrer Erkenntnisse.

Das obige ist der detaillierte Inhalt vonWie wähle ich eine CSS-Klasse mit XPath richtig aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage