0

我有这个 html

<div class="A"> A </div>
<div class="B"> 1 </div>
<div class="B"> 2 </div>
<div class="B"> 3 </div>
<div class="A"> A </div>
<div class="B"> 4 </div>
<div class="B"> 5 </div>
<div class="A"> A </div>
<div class="B"> 6 </div>

并且我想使用 xpath 表达式提取立即放置在 class="A" 的 div 元素之后的所有 div 元素。

我试图创建一个使用 + 运算符但没有成功的表达式:

//div[@class='A']+div[@class='B']

我希望输出分成几组。例如,第一组应该是:

<div class="B"> 1 </div>
<div class="B"> 2 </div>
<div class="B"> 3 </div>

第二

<div class="B"> 4 </div>
<div class="B"> 5 </div>

和最后一个

<div class="B"> 6 </div>
4

1 回答 1

1

我找到了解决办法。

你必须:

  1. 获取元素的出现次数
  2. 对于每个索引 i,计算 xpath 表达式

    //div[not(@class="A") 和 count(preceding-sibling::div[@class="A"])=(i+1)]

于 2019-05-21T17:20:51.477 回答