tread
tread

Reputation: 11108

How to select all nodes between 2 sibling nodes Xpath?

HTML:

<div class="article_content">
     <div><img src="....jpg" alt="...">
          <span class="caption">Source</span>
     </div>
<p>Sub Title Text</p>               
<p>Yes</p>                          
<p>Yes</p>              
<p>Yes</p>      
<p>Yes</p>          
<p>Yes</p>                      
<p><strong>No</strong> </p> 
<hr>
<p class="additional">No</p>
<ul class="menu_list">
   <li><a href="...">No</a></li>
   <li><a href="...">No</a></li>
</ul>

I would like to get everything marked as yes.

That is between:

article[@class="article-body"]/div[@class="ctx_content"]/div[@id="article_container"]/div[@class="article_column"]/p[1]

and:

//article[@class="article-body"]/div[@class="ctx_content"]/div[@id="article_container"]/div[@class="article_column"]/p/strong

Upvotes: 0

Views: 223

Answers (1)

alecxe
alecxe

Reputation: 474191

Use the combination of following-sibling and position() check:

//article[@class="article-body"]/div[@class="ctx_content"]/div[@id="article_container"]/div[@class="article_column"]/p[following-sibling::p/strong and position() > 1]

Upvotes: 1

Related Questions