Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
640 views
in Technique[技术] by (71.8m points)

xpath - How to get the preceding element?

<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>

I want to catch a element containing 171. So basically the preceding element from the Next.

//a[.='Next.']//Not sure how to use preceding here
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can use this xpath:

//a[.="Next."]/preceding::a[1]

If I were to diagram it out, using an X to represent the current location, it would look like this:

------------------+------+------------------
preceding-sibling | self | following-sibling
------------------|------|------------------
last() ...  2   1 |  X   | 1   2  ... last()
------------------+------+------------------

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

56.8k users

...