【问题标题】:Prevent HtmlUnit 2.13 from executing JavaScript防止 HtmlUnit 2.13 执行 JavaScript
【发布时间】:2013-12-01 11:52:38
【问题描述】:

这是我获取页面的代码:

WebClient webClient = new WebClient();
HtmlPage page = webClient.getPage(url);

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

webClient.setJavaScriptEnabled(false);

setJavaScriptEnabled() 函数已被弃用。任何人都知道如何解决这个问题?请帮我。非常感谢。

【问题讨论】:

    标签: java javascript html htmlunit


    【解决方案1】:

    虽然setJavaScriptEnabled(boolean) 已被弃用,但它已添加到WebClientWebClientOptions 成员中。这是doc

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

    webClient.getOptions().setJavaScriptEnabled(false);
    

    另外,如果你想从网页中获取原始 HTML 代码,你应该看看这个问题:

    How to get the pure raw HTML of a page in HTMLUnit while ignoring JavaScript and CSS?

    请注意,即使是 asXml() 方法也会更改您获取的网页的格式和内容(即使 JavaScript 被禁用)。

    【讨论】:

    • 谢谢!它真的节省了我的一天!但是当我尝试在<div> 中将源显示为我的页面的一部分时,浏览器将对某些源页面“无响应”。你知道为什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    相关资源
    最近更新 更多