Индексирование не работает для списка похожих элементов, которые мне нужны через xpath - PullRequest
0 голосов
/ 07 октября 2018

Здесь мне нужно получить список элементов, представленных в class = 'i-dark-drill-down', как вы можете видеть в HTML-коде с Xpath, на который я ссылаюсь, он дает мне 5 похожих элементов.Тем не менее, когда я применяю index[1], он по-прежнему показывает 5 элементов, и если я использую index [2], то вообще ничего не отображается.Поэтому, когда я перебираю этот список один за другим в цикле for, затем на второй итерации для index[2]

IMages for HTML

наступает исключение noSuchElement ..

xpathЯ использую это // [содержит (@ id, 'Canvas')] // [name () = 'svg' и @id = 'defaultID'] // * [@ class = 'i-дарк-развертка ']

Может ли кто-нибудь помочь мне выяснить, в чем я здесь не прав?Заранее спасибо!

Ниже приведен HTML-код

1 Ответ

0 голосов
/ 07 октября 2018

@ Prateek

для итерации по индексу с xpath вы должны ввести круглые скобки, например:

  • Индекс 1

(// div [@ id = 'что-то']) [1]

  • Индекс 2

(// div [@ id = 'что-то']) [2]

и т. Д.

попытаться ограничить поиск с помощью xpath по DOM с расширением *.Это сделает поиск медленным и неэффективным.

В вашем случае, если я правильно понимаю, xpath должен выглядеть примерно так:

(//div[contains(@id, 'Canvas')]//div[@class='Btn3D']/div[@class='i-dark-drill-down'])[index number goes here]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...