一个 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/

10-12 02:10