我有这个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>
我试过了:
.//a[@class='pagination_klass' and position() = (last()-1)]/@href
但我得到了空洞的结果。
请帮忙。我也需要比较班级名称
答案 0 :(得分:7)
嗨,你几乎是正确的。我在XPath开头删除了。选择器(当前节点选择器),并对其进行了测试here on Xpath tester。这对我来说可以。
// [@ class ='pagination_klass'和position()=(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>
将是结果属性节点href ='LINK'。
答案 1 :(得分:3)
你的表达
.//a[@class='pagination_klass' and position() = (last()-1)]/@href
将选择所有链接中的倒数第二个但仅当其类等于pagination_klass
时。如果您想查找所有pagination_klass
个链接中的倒数第二个,请尝试:
.//a[@class='pagination_klass'][last()-1]/@href