Как я могу получить текст из <a>java с помощью селена?</a>

71
8

я имею

<a>
some
<br/>
text
</a>

Мне нужно xpath, чтобы получить "text". я использовал

String getLinkText="//a[1]";    
browser.getCurrentWebDriver().findElement(By.xpath(getLinkText)).getText();

Он дает "some" в качестве вывода, но мне нужен "text". Как я могу это получить?

спросил(а) 2017-05-15T15:16:00+03:00 3 года, 5 месяцев назад
1
Решение
116

Я бы использовал //a[contains(text(),'text')] только потому, что в теге <a> вас есть пробелы.

ответил(а) 2017-05-15T15:20:00+03:00 3 года, 5 месяцев назад
41

Вот как вы могли бы выполнить свою задачу:

//First, get the full link text (your locator may vary)
String linkText = driver.findElement(By.tagName("a")).getText();
//Split the text by spaces
String [] splittedLink = linkText.split("\\s+");
//Get the last part of your text
String lastPartOfLink = splittedLink[splittedLink.length - 1];\

В вашем конкретном случае вы также можете использовать один линейный:

driver.findElement(By.tagName("a")).getText().split("\\s+")[1]

ответил(а) 2017-05-15T15:34:00+03:00 3 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема