防止HtmlUnit 2.13执行JavaScript

Tri*_*oan 13 html javascript java htmlunit

这是获取页面的代码:

WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage(url);
Run Code Online (Sandbox Code Playgroud)

问题是webClient总是自动执行javascript并抛出一个错误列表.我只想获得原始资源.如何防止它执行脚本?我发现版本2.9中有一种方法:

webClient.setJavaScriptEnabled(false);
Run Code Online (Sandbox Code Playgroud)

setJavaScriptEnabled()功能已被弃用.谁知道如何解决这个问题?请帮我.非常感谢.

Mos*_*cho 19

虽然setJavaScriptEnabled(boolean)已被弃用,但它被添加到了WebClientOptions成员中WebClient.这是文档.

要禁用JavaScript,您应该这样做:

webClient.getOptions().setJavaScriptEnabled(false);
Run Code Online (Sandbox Code Playgroud)

此外,如果您想从网页上获取原始HTML代码,您应该看一下这个问题:

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

考虑到即使是asXml()方法也会更改格式以及您获取的网页内容(即使禁用了JavaScript).