Выделите все группы элементов, размещенные сразу за другой, используя выражение xpath - PullRequest
0 голосов
/ 20 мая 2019

У меня есть этот 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>

и я хочу извлечь все элементы div, расположенные сразу после элемента div с class = "A", используя выражение xpath.

Я попытался создать выражение, которое использует оператор +, но безуспешно:

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

1 Ответ

0 голосов
/ 21 мая 2019

Я нахожу решение.

Вы должны:

  1. получить количество вхождений элементов
  2. для каждого индекса i, вычислите выражение xpath

    // div [not (@ class = "A") и кол-(предшествующее-родственный :: DIV [@ класс = "А"]) = (I + 1)]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...