我刚刚开始使用 HTMLUnit,我想做的是获取一个网页并从中提取原始文本减去所有 html 标记。
htmlunit 可以做到这一点吗?如果是这样,怎么做?还是我应该看另一个图书馆?
例如,如果页面包含
<body><p>para1 test info</p><div><p>more stuff here</p></div>
我希望它输出
para1 test info more stuff here
谢谢
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"));
}
注意: page.asText() 命令似乎提供了你所追求的。
asText 的 Javadoc(从 DomNode 继承到 HtmlPage)