一个 html 页面有分页链接,一个在页面顶部,另一个在页面底部。
使用 HtmlUnit,我目前正在使用 getByAnchorText("1");
在页面上获取 HtmlAnchor
顶部的一些链接有问题,所以我想使用XPath引用底部的链接。
nextPageAnchor = (HtmlAnchor) page.getByXPath("");
如何使用 xpath 引用页面上的第二个链接?
我需要使用 AnchorText 引用链接,因此链接如下:
<a href="....">33</a>
href 有随机文本,是一个 javascript 函数,所以我不知道它会是什么。
这可以用 xpath 吗?
最佳答案
要选择文档中任意位置的第二个 a
元素:
(//a)[2]
要在
a
属性中选择具有特定文本的第二个 href
元素:(//a[@href='...'])[2]
请注意,括号是必需的,并且表达式
//a[2]
不会执行您的意图:它将选择所有 a
元素,这些元素是任何父元素的第二个 a
元素。如果您的输入是<p>Link <a href="one.html">One</a></p>
<p>Link <a href="two.html">Two</a> and <a href="three.html">Three</a>.</p>
<p>Link <a href="four.html">Four</a> and <a href="five.html">Five</a>.</p>
(//a)[2]
将返回第二个链接 (two.html),而 //a[2]
将返回第三个和第五个链接(three.html 和 Five.html),因为它们都是其父节点的第二个 a
子节点。关于java - Xpath 获取带有 href 标签中匹配文本的第二个 url,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2619288/