如何使用HtmlUnit从网页中提取没有HTML标签的文本?

时间:2010-07-07 03:21:45

标签: java htmlunit

我刚刚开始使用HTMLUnit,而我正在寻找的是获取网页并从中提取原始文本减去所有html标记。

htmlunit可以做到吗?如果是这样,怎么样?或者我应该看另一个图书馆吗?

例如,如果页面包含

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

我希望输出

para1 test info more stuff here

感谢

1 个答案:

答案 0 :(得分: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(从DomNode继承到HtmlPage)