2017-09-17 2 views
0

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?

Antwort

1

denke ich, dass diese XPath können Ihnen helfen:

//ul/li[not(./a[contains(text(),'next')]) and not(./a[contains(text(),'prev')])][last()] | //ul/li[not(./a[contains(text(),'next')]) and not(./a[contains(text(),'prev')])][1]

[Bitte, sehen Sie, wie es ist Arbeit von mir] [1] [1]: https://i.stack.imgur.com/XQTJ2.png

+0

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! –

Verwandte Themen