我试图用分页的方法从表中删除链接。我可以让Selenium迭代页面,也可以获取第一页的链接,但是如果我尝试将两者结合起来,当我到达最后一页时,不再有下一页按钮,过程停止,我什么也得不到。在
我不确定如何优雅地告诉它,只需将数据返回到csv。我正在使用一个while true:
循环,所以这让我很困惑。在
另一个问题与我试图使用xpath解析的链接有关。链接保存在两个不同的tr
-类中。一个集合在//tr[@class ="resultsY"]
下,另一个在//tr[@class ="resultsW"]
下,有没有某种类型的OR
语句可以一次针对所有链接?在
我找到了一个解决方案:
'//tr[@class ="resultsY"] | //tr[@class ="resultsW"]'
每次都给我一个错误。在
以下是html表格:
<tr class="resultsW">
-<td></td>
-<td>
----<a href="fdafda"></a> <----a link i'm after
-<td>
-<td></td>
</tr>
<tr class="resultsW">
-<td></td>
-<td>
----<a href="fdafda"></a> <----a link i'm after
-<td>
-<td></td>
</tr>
这是我的下脚料:
^{pr2}$
把这篇文章分成三篇会增加你得到好答案的机会。在
对于第一个问题,更准确地了解“过程停止,我什么也得不到”的含义会很有帮助。我没看到你试图写一个文件的“链接”。我不明白你为什么要做你在
else
子句中所做的事情。在对于第二个问题,使用正则表达式可能可以解决问题。见this。在
对于第三个问题,因为元素
title
是列表titles = self.driver.find_elements_by_xpath('//tr[@class ="resultsW"]')
你可以这么做
另外,如果您所要做的只是从页面上获取链接,请考虑}。在
mechanize
、lxml.html
和{相关问题 更多 >
编程相关推荐