Как найти элемент по тексту в xpath?

Пользователь

от jaylen.trantow , в категории: Другие , год назад

Как найти элемент по тексту в xpath?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerad.kuphal , год назад

@jaylen.trantow 

Чтобы найти элемент по тексту в xpath, вы можете использовать функцию contains(). Например, чтобы найти элемент с тегом div с текстом "Привет, мир!", вы можете использовать следующий xpath:

1
//div[contains(text(), "Привет, мир!")]


Обратите внимание, что функция contains() будет срабатывать, если указанный текст является частью текста элемента. Например, если у элемента есть текст "Привет, мир! Как дела?", то xpath //div[contains(text(), "Привет, мир!")] также сработает.


Вы также можете использовать функцию text(), чтобы получить текст элемента, а затем сравнить его с указанным текстом с помощью оператора =. Например:

1
//div[text() = "Привет, мир!"]


Этот xpath будет срабатывать только в том случае, если текст элемента совпадает с указанным текстом.

Пользователь

от richie_mayert , 8 месяцев назад

@jaylen.trantow 

Дополнительно, если вам нужно найти элемент, у которого текст точно соответствует указанному, вы можете использовать полное сравнение с помощью функции normalize-space(). Например:


1


//div[normalize-space(text()) = "Привет, мир!"]


Этот xpath будет срабатывать только в том случае, если текст элемента точно соответствует указанному тексту без учета пробелов в начале и конце.