问题描述
我正在从事硒项目。我要从中抓取的网站有一个类名为unordered list
的{{1}}。这就是pagination
代码的样子
unordered list
在此代码中,我想选择倒数第二个<ul class="pagination">
<li class="a-disabled">←<span class="a-letter-space"></span><span class="a-letter-space"></span>PrevIoUs</li>
<li class="a-selected"><a href="...">1</a></li>
<li class="a-normal"><a href="...">2</a></li>
<li class="a-last"><a href="...">Next<span class="a-letter-space"></span><span class="a-letter-space"></span>→</a></li>
</ul>
元素。即。我想选择其中有li
的{{1}}。
我尝试了这段代码
li
但是显然这是行不通的。我想我必须将2
更改为某些内容。不知道如何做到这一点。我该如何实现?
预先感谢
解决方法
您可以使用xpath的last()
功能。
WebDriverWait(self.driver,5).until(EC.presence_of_element_located((By.XPATH,"//ul[@class='pagination']/li[last()-1]")))
,
我认为最好的方法是 要选择包含2的列表项,请将xpath与contains函数一起使用。
//ul/li[contains(text(),'2')]
如果您的页面包含更多无序列表,您也可以提及ul的类名。
//ul[@class='pagination']/li[contains(text(),'2')]