Как выбрать требуемый идентификатор div, если в идентификаторе div есть дубликаты? - PullRequest
0 голосов
/ 19 сентября 2019

У меня возникла проблема с использованием тега div id (дублирование?).Я использую ссылочный путь вместо абсолютного, чтобы избежать некоторых проблем, но теперь мой селен перестал идентифицировать счет.

Ссылочный путь, который я использую:

//*[@id="mx_objectCount"]

Исходные коды вхождений:

<div id="mx_objectCount" class="object-count"></div>

<div id="mx_objectCount">26 objects</div>

Все, что меня интересует - это общее количество.Как мне пропустить первый и перейти к следующему?

Ответы [ 3 ]

0 голосов
/ 19 сентября 2019

Это можно сделать несколькими способами.

Получить первый узел на основе имени класса и перейти на следующих братьев и сестер.

//div[@class=‘object-count’]/following-sibling::div

Получить второй узел, хотя на основе общего атрибута, такого как Id.(не рекомендуется, так как индекс может быть изменен)

(//div[@id=‘mx_objectCount’])[2]

ИЛИ

(//div[@id=‘mx_objectCount’])[last()]

Использование текста, если «объекты» не будут изменены

//div[contains(text(), ‘objects’)]
0 голосов
/ 20 сентября 2019

Использование Xpath Легко захватывать элементы, если есть дубликат или уже существует Id, name, className и т. Д.

Использование ChroPath (для браузеров Google Chrome) и Fire path (для браузеров Firefox) вы можете легко получить Xpath.

0 голосов
/ 19 сентября 2019

Чтобы выбрать только второй div, вы можете использовать отсутствующий атрибут @class второго div, например:

//*[@id="mx_objectCount" and not(@class)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...