2013-07-05 4 views
2

У меня есть следующий HTMLКак получить текст элемента без извлечения текста из его потомков

<div class="t-beaneditor-row"> 
    <label>Login ID</label> 
    SeleniumReset 
</div> 

Я хочу, чтобы получить строку «SeleniumReset» из HTML с использованием WebDriver Java. Я пробовал

driver.findElement(By.xpath("//div")).getText() 

но он дает мне «Логин ID SeleniumReset». Как я могу получить только «SeleniumReset»?

ответ

7

Я сомневаюсь, что это возможно в Selenium WebDriver.

Похожие сообщения здесь:

Так что в вашем случае, что-то вроде (непроверенные псевдо Java-код):

String divText = driver.findElement(By.xpath("//div")).getText(); 
String labelText = driver.findElement(By.xpath("//div/label")).getText(); 
divText.replace(labelText, "").trim(); 
+1

+1, а что касается самой проблемы, хорошо, если вы сразу получите текст элемента в JS, вы увидите ту же проблему: 'document.getElementsByClassName (« t-beaneditor-row ») [0] .innerText; '.... таким образом, это не проблема Селена (прямо, во всяком случае). – Arran

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