Xpath获取此元素之后的所有其他元素或元素末尾之前的所有元素?

时间:2019-09-30 05:28:14

标签: xpath

我得到这样的类别

a[contains(@class,'category')])[*]

我尝试使用此方法来获取子类别,但是我无法获得第二部分。

((a[@class='category'])[2]//following-sibling::a[@class='sub_category'][following-sibling::a[@class='category')]])[*]

我如何获得第二部分?

<div class="categories">																													
<a class="category" href="#">A</a>
<a class="sub_category" href="#">B</a>
<a class="sub_category" href="#">BB</a>	
<a class="sub_category" href="#">BBB</a>	
<a class="category" href="#">AA</a>			
<a class="sub_category" href="#">B</a>	
<a class="sub_category" href="#">BB</a>	
<a class="sub_category" href="#">BBB</a>
<a class="sub_category" href="#">BBBB</a>
<a class="sub_category" href="#">ВBBBB</a>
<a class="sub_category" href="#">ВBBBBB</a>
<a class="sub_category" href="#">ВBBBBBB</a>
<a class="sub_category" href="#">ВBBBBBBB</a>	
</div>

1 个答案:

答案 0 :(得分:0)

这将使您获得所有在第二类别后等于'sub_category'的a'

//a[@class='category'][2]/following-sibling::a[@class='sub_category']

还要记住,它将包括所有“ sub_category” a 例如

<div class="categories">
<a class="category" href="#">A</a>
<a class="sub_category" href="#">B</a>
<a class="sub_category" href="#">BB</a>
<a class="sub_category" href="#">BBB</a>
<a class="category" href="#">AA</a>
<a class="sub_category" href="#">B</a>
<a class="sub_category" href="#">BB</a>
<a class="sub_category" href="#">BBB</a>
<a class="sub_category" href="#">BBBB</a>
<a class="sub_category" href="#">ВBBBB</a>
<a class="sub_category" href="#">ВBBBBB</a>
<a class="sub_category" href="#">ВBBBBBB</a>
<a class="sub_category" href="#">ВBBBBBBB</a>
<a class="category" href="#">AAA</a>
<a class="sub_category" href="#">B</a>
<a class="sub_category" href="#">BB</a>
<a class="sub_category" href="#">BBB</a>
</div>

上面的xpath还将包括AAA类别下的a

如果您只需要提取选定的a,则可以执行以下操作:

//a[@class='category' and text()='AA']/following-sibling::a[@class='sub_category'][position()<8]
相关问题