2015-10-01 5 views
5

Я хотел бы найти любой WebElement на основе текста с использованием XPath.Получение WebElement по тексту с использованием XPath в тесте Selenium

WebElement, что я заинтересован, чтобы найти,

WebElement that I am interested in

Его HTML,

Its CSS

В основном мой WebElement, что я пытаюсь получить с помощью Text содержит входной элемент.

Я в настоящее время использую,

driver.findElement(By.xpath("//*[normalize-space(text()) = 'Own Hotel']")); 

, который не находит WebElement выше, но это, как правило, работает, чтобы получить все другие веб-элементы.

Даже,

By.xpath("//*[contains(text(),'Own Hotel')]") 

не давал мне никаких результатов. Хотя меня интересует точное совпадение текста.

Я ищу способ найти элемент веб-сайта по тексту, несущественный из элементов, которые присутствуют внутри веб-элемента. Если текст соответствует, он должен вернуть WebElement.

Спасибо!

+0

Без IFRAME на странице. Throws 'NoSuchElementException' – LINGS

+0

Это не проблема ожидания. Я тестировал этот xpath на хроме при загрузке страницы, он не нашел элемент. Следовательно, мой xpath не подходит для этого случая. Мне нужен альтернативный xapth. – LINGS

+0

Пожалуйста, разместите HTML-код как текст вместо изображения. В какой-то будущий момент картина больше не будет доступна, и этот вопрос не будет столь полезен. – JeffC

ответ

4

Кажется, текст обернут внутри метки, а не вводится. Попробуйте этой

driver.findElement(By.xpath(".//label[text()[normalize-space() = 'Own Hotel']]")); 

Существует хорошее объяснение об этом XPATH шаблоне here

+0

Большое спасибо, это сработало! – LINGS

Смежные вопросы