在XPath中选择一个不跟随轴的元素

加布里埃尔B

我有以下树状代码段:

<div class="pagesection">
  <div class="pagelinks floatleft">Pagine: [<strong>1</strong>]
    <a class="navPages" href="http://foo.com/2">2</a>
    <a class="navPages" href="http://foo.com/3">3</a>
  </div>
</div>

这是我需要抓取的网站部分的导航窗格。因此,我需要在strong元素(当前页面)之后访问第一个A链接(下一页)。

我无法使用,//DIV[@class="pagelinks"]/A[1]因为当我为前。在第2页上,窗格的第一个链接是第一页。这会在我的scraper中引起循环(它期望表达式产生“下一页”链接)。为了确保向前导航,我必须仅在当前页面之后访问A链接

更糟糕的是,scraper不允许使用前/后轴,但是似乎支持前兄弟和后兄弟。

我必须使用哪个xpath表达式来访问该A链接?

ec

您可以得到第一个following-sibling::a

//div[contains(@class, "pagelinks")]/strong/following-sibling::a[1]/text()

演示(使用xmllint工具):

$ xmllint index.html --xpath '//div[contains(@class, "pagelinks")]/strong/following-sibling::a[1]/text()'
2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章