Как выбрать элемент grand-grand child (например, 5th OR 6th grand child), используя xpath, который имеет только имя класса - PullRequest
1 голос
/ 11 февраля 2020

Я пытаюсь выбрать 5-го или 6-го большого ребенка, у которого нет других атрибутов, кроме имени класса. Пожалуйста, проверьте ниже пример DOM.

<div id="abc abc abc">
  <a>
    <a>
      <a>
        <a>
          <a>
</div>

Могу ли я найти последний Пятый а , используя xpath ?? Не хочу использовать что-то вроде // div / a / a / a / a / a

1 Ответ

2 голосов
/ 11 февраля 2020

Внутри предиката функция position() работает против оси шага локатора. Это называется Положение близости . Итак, это выражение XPath:

//div[@id='abc abc abc']/descendant::a[5]

Значение:

Выберите пятого a элемента-потомка такого div элемента

Это выражение с этим хорошо сформированным вводом:

<div id="abc abc abc"> 
  <a> 
    <a> 
      <a> 
        <a> 
          <a id="target"/> 
        </a> 
      </a> 
    </a> 
  </a> 
</div>

Выбирает:

<a id="target"/>

Тест в здесь

...