如何获得前面的元素?

Pab*_*blo 25 xpath

<p class="small" style="margin: 16px 4px 8px;">
<b>
<a class="menu-root" href="#pg-jump">Pages</a>
 :  
<b>1</b>
, 
<a class="pg" href="viewforum.php?f=941&start=50">2</a>
, 
<a class="pg" href="viewforum.php?f=941&start=100">3</a>
 ... 
<a class="pg" href="viewforum.php?f=941&start=8400">169</a>
, 
<a class="pg" href="viewforum.php?f=941&start=8450">170</a>
, 
<a class="pg" href="viewforum.php?f=941&start=8500">171</a>
<a class="pg" href="viewforum.php?f=941&start=50">Next.</a>
</b>
</p>
Run Code Online (Sandbox Code Playgroud)

我想要捕获a包含171.的元素.所以基本上是Next的前一个元素.

//a[.='Next.']//Not sure how to use preceding here
Run Code Online (Sandbox Code Playgroud)

kev*_*kev 41

你可以用这个xpath:

//a[.="Next."]/preceding::a[1]
Run Code Online (Sandbox Code Playgroud)

如果我要将其绘制出来,使用a X来表示当前位置,它将如下所示:

------------------+------+------------------
preceding-sibling | self | following-sibling
------------------|------|------------------
last() ...  2   1 |  X   | 1   2  ... last()
------------------+------+------------------
Run Code Online (Sandbox Code Playgroud)


Jai*_*dia 5

//a[contains(text(), 'Next.')]/preceding::a[contains(text(), '171')]
Run Code Online (Sandbox Code Playgroud)

xpath的解释:使用text方法和<a>标签,然后使用preceding关键字来定位元素171