如何在忽略JavaScript和CSS的同时在HTMLUnit中获取页面的纯原始HTML?

Tho*_*mas 5 htmlunit

我只想要页面的文本内容,我希望获取尽可能轻量级.我可以关闭HTMLUnit开箱即用的JavaScript,CSS和其他外部内容的所有解析和附加加载吗?

Mos*_*cho 9

我认为最接近你要找的是:

WebClient webClient = new WebClient();
webClient.setCssEnabled(false);
webClient.setAppletEnabled(false);
webClient.setJavaScriptEnabled(false);
Run Code Online (Sandbox Code Playgroud)

对于HtmlUnit 2.13及更高版本,请使用webclient.getOptions().

问题和答案也可能有用.这对我来说真的让事情变得更快,但我不得不重新编译HtmlUnit ......

最后,为了获取页面的原始内容(而不是输出asXml()),请尝试以下操作:

WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage("http://www.yourpage.com");
String originalHtml = page.getWebResponse().getContentAsString();
Run Code Online (Sandbox Code Playgroud)

  • 启动HTMLUnit 2.13,使用webClient.getOptions()来调用这些"启用"方法. (3认同)
  • `asXML()` 将格式化代码(例如,每当打开 html 标签时添加空格),而 `getContentAsString()` 将向您显示与 Web 服务器返回的完全相同的 html 代码 (2认同)