2017-04-18 57 views
0

我想從下面的HTML代碼中提取文本:爪哇 - 提取文本至極包含<br>標籤與硒的webdriver

<div> 
    "blabla" 
    <br> 
    "blublu" 
    <br> 
    "blibli" 
</div> 

我使用getAttribute方法,因爲文本可以被隱藏(這樣的getText()都不可能返回null):

String text = driver.findElement(By.tagName("div")).getAttribute("textContent"); 
System.out.println(text); 

預期的結果是

blabla\nblublu\nblibli 

但我得到

blablablublublibli 

有人可以幫助我嗎? (我很抱歉,我的英語很差)

感謝

+0

[webdriver的的getText()方法替換爲
標籤](可能的重複http://stackoverflow.com/questions/28341052/webdriver-gettext-method-with-replace-br- tag) – JeffC

回答

0

通過使用解決的問題

String text = driver.findElement(By.tagName("div")).getAttribute("innerText"); 

,而不是

String text = driver.findElement(By.tagName("div")).getAttribute("textContent"); 
0

您可以使用在WebElement

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

輸出getText()方法是這樣的: -

"blabla" 
"blublu" 
"blibli" 
+0

getText()不是一個好的解決方案,因爲即使在div被隱藏時我也需要獲取這個文本。在這種情況下,此方法返回null – Caza