如何获取最后一个<a>元素之前的元素的xpath
我有这个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
但是我得到了空结果。
请帮帮我。
注意
我还需要根据类名进行比较
2 个回答
4
你的这个表达式
.//a[@class='pagination_klass' and position() = (last()-1)]/@href
会选择所有链接中倒数第二个的链接,但前提是它的类名必须是 pagination_klass
。如果你想找到所有 pagination_klass
链接中的倒数第二个,可以试试这个:
.//a[@class='pagination_klass'][last()-1]/@href
15
你好,你几乎说对了。我把XPath开头的.选择器(当前节点选择器)去掉了,然后我在这个XPath测试工具上测试了一下。对我来说,它运行得很好。
//a[@class='pagination_klass' and 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'。