Python xpath如何在<;的最后一个元素之前获取;a>;

Python 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

我有这个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_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>