Python xpath如何在<;的最后一个元素之前获取;a>;
我有这个htmlPython xpath如何在<;的最后一个元素之前获取;a>;,python,xpath,scrapy,Python,Xpath,Scrapy,我有这个html <a class=pagination_klass></a> <a class=pagination_klass></a> <a class=pagination_klass></a> <a class=pagination_klass></a> <a class=pagination_klass>HERE</a> <a class=pagination
<a class=pagination_klass></a>
<a class=pagination_klass></a>
<a class=pagination_klass></a>
<a class=pagination_klass></a>
<a class=pagination_klass>HERE</a>
<a class=pagination_klass></a>
但我得到的结果是空的
请帮忙
笔记
我还需要比较一下类名你的表达式
.//a[@class='pagination_klass' and position() = (last()-1)]/@href
将选择所有链接中倒数第二个链接,但前提是其类等于分页\u klass
。如果要查找所有分页\u klass
链接中倒数第二个链接,请尝试:
.//a[@class='pagination_klass'][last()-1]/@href
嗨,你说得差不多对了。我删除了XPath开头的选择器(当前节点选择器),并对其进行了测试。这对我来说很好 //a[@class='pagination_klass'和position()=(last()-1)]//@href 为了
...
..
将是无效XML的结果属性节点href='LINK.1),因为属性必须包含在单引号或双引号中。2) 所有
元素都没有href
attribute@freefaller这只是为了告诉你我的问题,ofc这个xml是行不通的。但是我的questoin是完全不同的,只要一次完成整个列表,然后在上面应用一个简单的列表片段就可以了。好的,谢谢你的澄清。帮助那些给你与他们试图解决的问题“完全不同”的人总是件好事-1@freefaller当前位置如果你没有得到它,那正是他所做的。他在修割草机时要了一本汽车手册。说实在的,这不是一个糟糕的问题,而是一个误导性很强的问题。正如freefaller指出的,您的示例中甚至没有href
。使问题适用于您的问题。您使用的代码与我给出的代码完全相同,我告诉过您它不起作用不,您的Xpath以开头。这是当前节点选择器。我只删除。它是有效的。在这里尝试一下,只需要点击表单上的Evaluate XPath按钮。我需要包含所述类的所有a的最后一个href。所以我必须使用你的第一个代码,这是我的代码,但它不起作用,第二个是抛出异常。请确保它不需要/
?在括号之间?
.//a[@class='pagination_klass'][last()-1]/@href
<html>
...
<a class='pagination_klass'></a>
<a class='pagination_klass'></a>
<a class='pagination_klass'></a>
<a class='pagination_klass'></a>
<a class='pagination_klass' href='LINK'>HERE</a>
<a class='pagination_klass'></a>
..
</html>