2015-11-30 76 views
2

這可能是一個奇怪的問題。但詳細的解釋,我可能會得到一個解決方案(至少踢起點。)解析HTML以獲取內容及其標記

我的工作實現自動化與selenium & Java的本地化測試(本地化)。作爲可能方法之一的一部分,

  • 我正在使用HTML中的HTML Jsoup解析器來獲取HTML頁面的純文本。
  • 此外,我想保留這些提取的文本,tagwise在一個 Excel文件

現在據我所知,解析器如果提供過濾器會給出相應的純文本。但是,有沒有什麼辦法可以將文本與底層HTML tag一起?是否可以用Jsoup或任何其他解析器?

例如當我得到帳戶作爲分析文本時,我正在尋找<option>

<html> 
 

 
<body> 
 
    <select> 
 
    <option value="Savings">Accounts</option> 
 
    </select> 
 
</body> 
 

 
</html>

回答

1

使用Jsoup你可以做到這一點,

Document doc = Jsoup.parse("<html><body<select><option value=\"Savings\">Accounts</option></select></body></html>"); 

    String contentText = "Accounts"; 

    Elements elems = doc.select(":containsOwn(" + contentText + ")"); 

    for(Element e: elems) { 
     System.out.println("Html : " + e.outerHtml()); 
     System.out.println("Tag : " + e.tagName()); 
    } 

Ouptput

Html : <option value="Savings">Accounts</option> 
    Tag : option 
+0

是的,這工作。我錯過了'e.tagName()'方法。 – MKay