Hoffe jemand da draußen kann mich mit meinen XPath-Schwierigkeiten schnell in die richtige Richtung lenken.
Aktuell Ich habe den Punkt erreicht, an dem ich die richtige Tabelle in meiner HTML-Quelle identifiziere, aber dann muss ich nur die Zeilen verarbeiten, die irgendwo im DOM den Text "Kapitel" haben.
Mein letzter Versuch war, dies zu tun:
%Vor%Ich dachte, der obige Xpath würde darstellen, hol mir alle Elemente, die ein folgendes Kindelement von 'td' haben, das irgendwo in seinem Dom den Text 'Kapitel'
enthältEin Beispiel für eine übereinstimmende Zeile aus meiner Quelle ist:
%Vor%Jede Hilfe / Zeiger sehr geschätzt.
Danke,
Sie möchten alle td
s unter Ihrem aktuellen Knoten haben - nicht - alle im Dokument , da die aktuell akzeptierte Antwort auswählt.
Verwenden Sie :
%Vor% Hiermit werden alle Nachkommen von td
des aktuellen Knotens mit dem Namen td
ausgewählt, die mindestens einen Nachkommen des Textknotens aufweisen, dessen Zeichenfolgenwert die Zeichenfolge "Chapter"
enthält.
Wenn im Voraus bekannt ist, dass jede td
unter dieser table
nur einen einzigen Textknoten hat, kann dies auf vereinfacht werden:
Ihr auf dem rechten "Pfad".
Die Funktion contains () ist auf ein bestimmtes Element beschränkt, nicht auf Text in einem der untergeordneten Elemente. Versuchen Sie diesen XPath, den Sie wie folgt lesen könnten:
- Holen Sie sich jeden tr / td mit einem Unterelement, das den Text 'Kapitel' enthält
Viel Glück