Wie wählt man gleichgeordnete Elemente in XPath aus?

Beim Web Scraping mit Selenium, insbesondere bei der Verwendung von Python, ist die Auswahl von gleichgeordneten Elementen in einer Dokumentstruktur für eine effiziente Datenextraktion oft notwendig. XPath bietet eine flexible Möglichkeit, durch gleichgeordnete Knoten zu navigieren, wodurch Ihre Scraping-Aufgaben gezielter und effizienter werden.

Kurzanleitung zur gleichgeordneten XPath-Auswahl

Um gleichgeordnete Elemente in XPath auszuwählen, können Sie die folgenden Achsenmethoden verwenden: following-sibling oder preceding-sibling. Diese Methoden helfen beim Navigieren zu den gleichgeordneten Elementen des aktuellen Knotens im DOM (Document Object Model). Hier ist die grundlegende Syntax zum Auswählen des ersten folgenden gleichgeordneten Elements:

      //*[your-current-element]/following-sibling::*[1]
    

Dadurch wird das erste gleichgeordnete Element nach dem aktuellen Element ausgewählt, das Ihren angegebenen Bedingungen entspricht. Ersetzen Sie your-current-element (Ihr-aktuelles-element) durch die entsprechenden Knotenkriterien.

Beispiel: Auswahl von gleichgeordneten Elementen in XPath

Hier ist ein detailliertes Beispiel, das zeigt, wie man Geschwisterelemente mit XPath in Selenium auswählt:

      from selenium import webdriver driver = webdriver.Chrome() driver.get("https://example.com") # Angenommen, Sie wollen das erste gleichgeordnete Absatzelement nach einem div mit einer bestimmten ID auswählen div_id = 'unique-id' sibling_elements = driver.find_elements_by_xpath(f"//*[@id='{div_id}']/following-sibling::p[1]") für Elemente in sibling_elements: print(element.text) driver.quit()
    

Dieses Skript initialisiert den Selenium WebDriver, navigiert zu einer Webseite, wählt das erste Absatzelement aus, das ein gleichgeordnetes Element nach einem div mit einer bestimmten ID ist, und gibt den Text dieser Elemente aus. Diese Methode ist sehr nützlich, um Beziehungen im DOM-Baum zu navigieren. Zur Erinnerung:

  • Stellen Sie sicher, dass die Webseite vollständig geladen ist, bevor Sie versuchen, Elemente auszuwählen.
  • Verwenden Sie following-sibling:: zur Auswahl von gleichgeordneten Elmenten, die auf das aktuelle Element folgen, und preceding-sibling: zur Auswahl von gleichgeordneten Elemente, die dem aktuellen Element vorausgehen.
  • Die Indizierung in XPath ist 1-basiert, also wählt [1] das erste gleichgeordnete Element aus.
  • Diese Auswahlmethode ist für ein präzises Web Scraping von entscheidender Bedeutung, insbesondere wenn es um verschachtelte oder benachbarte Datenstrukturen geht.

Die Beherrschung der Verwendung von gleichgeordneten Selektoren in XPath wird Ihre Web-Scraping-Effizienz mit Selenium erheblich steigern und eine strukturiertere und strategischere Datenextraktion in Ihren Python-Projekten ermöglichen. Andere XPath-bezogene Fragen:

Sind Sie bereit, loszulegen?