2010-07-07 41 views
5

我剛剛開始使用HTMLUnit,我正在做的是採取一個網頁,並從中提取出原始文本減去所有的HTML標記。如何使用HtmlUnit從網頁中提取沒有HTML標籤的文本?

htmlunit能完成嗎?如果是這樣,怎麼樣?還是有我應該看的另一個圖書館?

例如,如果頁面包含

<body><p>para1 test info</p><div><p>more stuff here</p></div> 

我想它想輸出

para1 test info more stuff here 

感謝

回答

5

http://htmlunit.sourceforge.net/gettingStarted.html表示這確實是可能的。

@Test 
public void homePage() throws Exception { 
    final WebClient webClient = new WebClient(); 
    final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net"); 
    assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText()); 

    final String pageAsXml = page.asXml(); 
    assertTrue(pageAsXml.contains("<body class=\"composite\">")); 

    final String pageAsText = page.asText(); 
    assertTrue(pageAsText.contains("Support for the HTTP and HTTPS protocols")); 
} 

NB:的page.asText()命令似乎提供正是你所追求的。

Javadoc for asText(繼承自れ到HtmlPage)

+0

反正與htmlclient庫做到這一點? – James 2010-07-07 18:45:05

+0

看起來可能(我假設你指的是Apache HttpClient) - http://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src/examples/TrivialApp.java?view=markup – Syntax 2010-07-08 01:57:51

相關問題