2010-07-07 10 views
5

Sono appena iniziato con HTMLUnit e quello che sto cercando di fare è prendere una pagina web ed estrarre il testo non elaborato da tutto il markup html.Come estrarre il testo senza tag HTML da una pagina Web utilizzando HtmlUnit?

Può l'unità html realizzarlo? Se é cosi, come? O c'è un'altra biblioteca che dovrei guardare?

per esempio se la pagina contiene

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

Mi piacerebbe che in uscita

para1 test info more stuff here 

grazie

risposta

5

http://htmlunit.sourceforge.net/gettingStarted.html indica che questo è davvero possibile.

@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: il comando il page.asText() sembra offrire esattamente quello che stai dopo.

Javadoc for asText (Ereditato da DomNode a HtmlPage)

+0

comunque di fare questo con la libreria htmlclient? – James

+0

Sembra che sia possibile (presumo che tu ti riferisca ad Apache HttpClient) - http://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src/examples/TrivialApp.java?view=markup – Syntax

Problemi correlati