Xpath用href标签中的匹配文本获取第二个url

Bla*_*man 4 java xpath htmlunit

一个html页面有分页链接,1页面设置在页面顶部,另一个页面位于页面底部.

使用HtmlUnit,我目前正在使用页面上的HtmlAnchor getByAnchorText("1");

顶部的一些链接存在问题,因此我想使用XPath引用底部链接.

nextPageAnchor = (HtmlAnchor) page.getByXPath("");
Run Code Online (Sandbox Code Playgroud)

如何使用xpath引用页面上的第二个链接?

我需要使用AnchorText引用链接,所以链接如下:

<a href="....">33</a>
Run Code Online (Sandbox Code Playgroud)

href有随机文本,是一个javascript函数,所以我不知道它会是什么.

xpath有可能吗?

mar*_*usk 10

a在文档中的任何位置选择第二个元素:

(//a)[2]
Run Code Online (Sandbox Code Playgroud)

ahref属性中选择具有特定文本的第二个元素:

(//a[@href='...'])[2]
Run Code Online (Sandbox Code Playgroud)

请注意,parantheses是必需的,并且表达式//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>
Run Code Online (Sandbox Code Playgroud)

(//a)[2]将返回第二个链接(two.html),同时//a[2]返回第三个和第五个链接(three.html和five.html),因为这两个链接都是a其父级的第二个子级.