2015-10-02 2 views
2

XPath:Как печатать текст с дочернего узла с помощью xpath?

//*[@id='full-scorecard']/div[2]/div/table[1]/tbody/tr[3]/td[2]/child::text() 

Приведенный выше код возвращает только webelement я не в состоянии напечатать текст.

WebElement txt= driver.findElement(By.xpath(
    "//*[@id='full-scorecard']/div[2]/div/table[1]/tbody/tr[3]/td[2]/child::text()")); 

System.out.println(txt); 

HTML:

12,6 пойманы Хьюз 73/4

+0

В селена, выражение XPath используется внутри 'By.xpath()' локатора должна указывать на веб-элемента. Вы не можете сопоставить текстовый узел таким образом. – alecxe

+0

Как получить текст «пойманный Хьюз» тогда? – rajpradeep32

+0

<тд = Объединение столбцов "8"> 12,6 пойманы Хьюз 73/4
rajpradeep32

ответ

0

это должно работать:

WebElement txt= driver.findElement(By.xpath("//*[@id='full-scorecard']/div[2]/div/table[1]/tbody/tr[3]/td[2]")); 

System.out.println(txt.getText()); 
+2

Это дает мне весь текст 12.6 поймал Hughes 73/4, но я пытаюсь получить текст поймал только Хьюза. – rajpradeep32

+1

Добро пожаловать в переполнение стека! Хотя этот ответ, вероятно, правильный и полезный, рекомендуется, если вы [включите какое-то объяснение вместе с ним] (http://meta.stackexchange.com/q/114762/159034), чтобы объяснить, как это помогает решить проблему. Это становится особенно полезным в будущем, если есть изменения (возможно, не связанные), которые заставляют его перестать работать, и пользователи должны понимать, как он работал. –

0

Selenium webdriver возвращает все тесты под элементом элемента, включая дочерний элемент.

Итак, после прочтения вы должны удалить целочисленные значения из текста.

Благодаря Садик

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