Keine Ahnung, die beiden Ausdrücke in einen XPath zu zementieren. Sie fallen beide unter die gleiche Klasse "Paginierung". Ich muss das in einer Schleife verwenden. Ich habe versucht, getrennt wie folgt aus:Wie zwei XPath-Ausdrücke in einen zu zementieren?
//div[@class='pagination']//a/@href
//div[@class='pagination']//a[contains(@class,'next')]/@href
Elemente für den Ausdruck:
<div class="pagination"><p><span>Showing</span>1-30
of 483<span>results</span></p><ul><li><span class="disabled">1</span></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=2" data-page="2" data-analytics="{"click_id":132,"module":1,"listing_page":2}" data-remote="true" data-impressed="1">2</a></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=3" data-page="3" data-analytics="{"click_id":132,"module":1,"listing_page":3}" data-remote="true" data-impressed="1">3</a></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=4" data-page="4" data-analytics="{"click_id":132,"module":1,"listing_page":4}" data-remote="true" data-impressed="1">4</a></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=5" data-page="5" data-analytics="{"click_id":132,"module":1,"listing_page":5}" data-remote="true" data-impressed="1">5</a></li><li><a href="/search?search_terms=pizza&geo_location_terms=Los%20Angeles%2C%20CA&page=2" data-page="2" data-analytics="{"click_id":132}" data-remote="true" class="next ajax-page" data-impressed="1">Next</a></li></ul></div>
Danke Sir Michael Kay, für Ihre Antwort. Ich wollte xpath so schreiben, dass es beide Arten von Seitenumbruch abdeckt. Das Gegenteil von dem, was ich will, ist: "// div [@ class = 'Paginierung'] // a [nicht (@class)]/@ href" – SIM
Meinst du das zu sagen? Nun, es funktioniert, aber ich wollte die Ausdrücke so kombinieren, dass es prägnant aussieht. [// div [@ class = 'Seitenumbruch'] // a/@ href | // div [@ Klasse = 'Seitenumbruch'] // a [enthält (@ Klasse, 'ajax-Seite')]/@ href] – SIM
Sie haben einen Pfadausdruck, der X zurückgibt, und einen anderen Pfadausdruck, der Y zurückgibt. Was soll der kombinierte Pfadausdruck zurückgeben? Der Vereinigungsoperator gibt alle Knoten zurück, die entweder durch X oder Y ausgewählt wurden. Alternativen sind der Operator "intersect", der alles zurückgibt, was sowohl für X als auch für Y der Operator "comma" (Verkettung) ist usw ... Ohne zu wissen, was Sie erreichen möchten, können wir Ihnen nicht sagen, welcher Operator verwendet werden soll. –