Выбор ответа Middle Локаторы обновлено

`//li[2]` и `(//li)[2]`

Вопрос

На странице два списка ul, в каждом по три li. Сколько элементов найдёт //li[2]?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Два: второй li в каждом списке. Предикат [2] применяется к шагу li относительно родителя: это «li, который второй у своего родителя», таких два.

Варианты ответа

  1. Один: второй li в документе
  2. Два: второй li в каждом спискеправильный ответ
  3. Ни одного: индексы идут с нуля
  4. Шесть: все li во всех списках

Разбор

Предикат [2] применяется к шагу li относительно родителя: это «li, который второй у своего родителя», таких два. Второй li во всём документе даёт (//li)[2]. Индексы в XPath начинаются с 1, а не с 0.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме