Selenium Webdriver - относительный xpath, получить элемент с текстом - PullRequest
0 голосов
/ 19 октября 2018

Я использую веб-драйвер Selenium с Java.

Я пытаюсь найти элементы в выпадающих списках, не могу получить к ним доступ по точному идентификатору / имени / xpath, потому что это динамические элементы, поэтому я попыталсянайдите его по относительной xpath, и он работает, но не полностью, пожалуйста, см. изображение ниже:

ИЗОБРАЖЕНИЕ НА IMGUR (МОЖЕТ ПОСТАВИТЬ ИЗОБРАЖЕНИЯ ДА)

Как вы можете видеть навверху слева есть выпадающий оверлей с 3 опциями, ALL / ACTIVE / INACTIVE, теперь мне удалось найти все 3 из них, используя относительный xpath, как показано на изображении:

//*[@class="cdk-overlay-pane"]//*[@class="mat-option-text"]

Но как теперьполучить один элемент (из 3 в данном случае), который получил определенный текст, например, «Активный»?Я попробовал следующее:

//*[@class="cdk-overlay-pane"]//*[@class="mat-option-text"]//*[contains(text(),'Active')]

Но он ничего не находит, любая помощь будет приветствоваться!

Ответы [ 2 ]

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

Попробуйте с

//*[@class="cdk-overlay-pane"]//span[@class="mat-option-text" and normalize-space(text())="All"]
0 голосов
/ 19 октября 2018

Нашел решение, поиск текста с использованием «содержит»

Вот мой рабочий относительный xpath в моем случае:

//*[@class="cdk-overlay-pane"]//*[contains(text(), 'All')]

Будет возвращен элемент с текстом «Все», который являетсянаходится внутри раскрывающейся панели.

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