2017-01-18 4 views
1

У меня есть html-таблица. Мне нужно получить текст элемента td с селеном.Как получить текст элемента td с использованием селена?

Html структура:

<table id="myTable"> 
    <tbody> 
    <tr> 
     <td> 
     <b>Success: </b> 
     You have transferred 1,000.00 USD to DIST2. Your balance is now 19,979,000.00 USD. ref: 2017011806292760301000301 
     </td> 
    </tr> 
    </tbody> 
    </table> 

Я попытался с помощью driver.findElement(By.xpath("//table[@id='myTable']/tbody/tr/td")).getText();

Он возвращает пустую строку. Мне нужно получить «Вы перевели 1,000.00 USD на DIST2. Ваш баланс теперь составляет 19 979 000,00 долларов США. Ref: 2017011806292760301000301». Я думаю, что элемент td содержит тег, поэтому он не возвращает значение.

Есть ли способ получить стоимость?

ответ

0

Используйте следующую xpath (Java-код) -

String result = driver.findElement(By.xpath(".//*[@id='myTable']//td[contains(.,'You have transferred')]")).getText(); 
+0

Он возвращает весь текст внешних дел. Но работал с результатом String = driver.findElement (By.xpath (".//*[@ id = 'myTable'] // td [contains (text(), 'You've transfer')]")). GetText(); –

1

Ваш локатор прав. Попробуйте getAttribute("innerHTML") вместо getText()

driver.findElement(By.xpath("//table[@id='myTable']/tbody/tr/td")).getAttribute("innerHTML"); 
Смежные вопросы