Ich habe diesen HTML:Benötigen Sie Hilfe bei whith XPath-Abfrage
< ul class = " Seite-Nummern " >
<li> < a class = " prev page-Zahlen " href = " ... " > prev </a > </li >
<li> < a class = " Seite-Zahlen " href = " ... "/a > </li >
.....
<li> < a class = " Seite-Zahlen " href = " ... "/a > </li >
<li> < a class = " nächste Seite Nummern " href = " ... " > nächste </a > </li >
</ul >
Sie möchten die erste und die letzte li auszuwählen, die ein A-Element mit einer Anzahl (nicht mit Text zurück enthält oder nächste) Diese XPath-Abfrage die erste li kehrt ich brauche (die li enthält Seitennummer 1):
//ul[ @class='page-numbers' ]
/li[
not(
a[ contains(@class, 'prev') ]
) and
not(
a[ contains(@class, 'next') ]
) and
position() = 1
]"
Having Problem wHE versuchen letzten li zu erhalten (die, die Seitennummer 20) enthält. Haben Sie versucht:
//ul[ @class='page-numbers' ]
/li[
not(
a[ contains(@class, 'prev') ]
) and
not(
a[ contains(@class, 'next') ]
) and
position() = last()
]"
und
//ul[ @class='page-numbers' ]
/li[
not(
a[ contains(@class, 'prev') ]
) and
not(
a[ contains(@class, 'next') ]
) and
last()
]"
Aber es funktioniert nicht. Die erste gibt eine leere nodeList zurück, die zweite gibt eine nodeList zurück, die alle li mit Zahlen (1-20) enthält. Kann mir bitte jemand helfen?
Eine kleine Änderung und es funktioniert perfekt : [@ class = 'Seitenzahlen']. // ul [@ class = 'Seitenzahlen']/li [nicht (a [enthält ('@' class, 'prev')]) und nicht ( a [contains ('@' class, 'next') ]) ][ letzte() ]. Vielen Dank! –