2017-06-29 3 views
0
<div id="js-map-search-result-nav" class="lookup-result-guide" style="width: 630px;"> 
<ul class="c-pagination lookup-result-pagination"> 
    <li class="c-pagination__list"> 
     <a href="/en/tokyo/rstLst/57/" class="c-pagination__target c-pagination__target--prev js-pjax-anchor" rel="prev">«&nbsp;Prev</a> 
    </li> 
    <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/54/">54</a></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/55/">55</a></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/56/">56</a></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/57/">57</a></li> <li class="c-pagination__list"><span class="c-pagination__target c-pagination__target--num is-selected">58</span></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/59/">59</a></li> <li class="c-pagination__list"><a class="c-pagination__target c-pagination__target--num js-pjax-anchor" href="/en/tokyo/rstLst/60/">60</a></li> 
    <li class="c-pagination__list"> 
     <a href="/en/tokyo/rstLst/59/" class="c-pagination__target c-pagination__target--next js-pjax-anchor" rel="next">Next &nbsp;»</a> 
    </li> 
</ul> 

1141 - 1160 131715 Suche nach der Verbindung des letzten Tabellenliste mit XPath (Python)

Ich möchte wissen, wie XPath bekommen den Link des letzten li-Tag zu erhalten, egal Reaktion mit CSS- oder response.xpath

Dies ist der Code, den ich

für href in response.xpath schreibe ('// * [@ id = "js-map-Suchergebnis-nav"]/ul/li [-1]/a/@ href '): yield response.follow (href, self.parse)

Antwort

0
(//ul[contains(@class,'lookup-result-pagination')]/li)[last()] 

oder

(//ul[contains(@class,'c-pagination')]/li)[last()]

erhalten letzte li Element innerhalb //ul[contains(@class,'lookup-result-pagination')]

und hier ist css Locator:

ul.c-Paginierung> li: last-child

aber letzte li - ist Schaltfläche "Weiter" in Ihrem Fall, müssen Sie es, oder letzte Seitenzahl?

In diesem Fall können Sie Xpath verwenden können, die überprüft, ob letzt li keinen Weiten Text hat

(//ul[contains(@class,'c-pagination')]/li[not(./ a [enthält (text(), 'Weiter')])]) [last()]

+0

Vielen Dank für Ihre Antwort, aber das funktioniert nicht. – Michael

+0

Wissen Sie, wie Sie mit response.css den Link des letzten li-Tags mithilfe seines Klassennamens finden? – Michael

+0

heh tut mir leid, ich habe vergessen, nicht benötigten Teil zu entfernen, mit dem ich Debugging) versuchte jetzt) ​​ –