java - 使用 HtmlUnit 时出错

标签 java javascript web web-scraping htmlunit

当我执行这个简单的代码以文本形式获取网站内容时,它显示了我无法理解的错误。

import java.io.IOException;
import java.net.MalformedURLException;

import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.ScriptException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

public class sd {
    public static void main(String[] args) {
        sd vip=new sd();
        try {
            vip.homePage();
        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.print("sssss");
    }

    public void homePage() throws Exception, ScriptException {
        final WebClient webClient = new WebClient();
        final HtmlPage page =       
    (HtmlPage)webClient.getPage("http://timesofindia.indiatimes.com/");
        String pageAsText = page.asText();
        String pageAsXML = page.asXml();

        // System.out.println(pageAsXML);
        System.out.println("////////////////////output//////////////////////////"); 
        System.out.println(pageAsText);
        // System.out.println(pageAsXML);
        System.out.println("////////////////////output ends//////////////////////////"); 
    }

}

我得到的错误:

   ======= EXCEPTION START ========
Exception class=[com.gargoylesoftware.htmlunit.ScriptException]
com.gargoylesoftware.htmlunit.ScriptException: Exception invoking jsxFunction_write
    at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:595)
Caused by: java.lang.RuntimeException: Exception invoking jsxFunction_write
Caused by: com.gargoylesoftware.htmlunit.ScriptException: Exception invoking jsxFunction_write
    at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:595)

最佳答案

自 HtmlUnit 版本 2.11 起,WebClient::setThrowExceptionOnScriptError 方法已被弃用。在较新版本中使用以下内容:

webClient.getOptions().setThrowExceptionOnScriptError(false);

关于java - 使用 HtmlUnit 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11249317/

相关文章:

javascript - meteor : save html as string and later convert it to a DOM node

java - 使用 Maven 安装 Java ZeroMQ 绑定(bind) (jzmq),缺少 native 代码库

java - 后缀到中缀

javascript - 更改链接的数据值并触发由新数据值触发的另一个函数

javascript - 如何使用数据绑定(bind) Knockout.js 枚举 javascript 对象的属性

java - 将 vector 保存到 cookie

java - Swing 显示多个子 jframe

java - 调用 Scanner 的 nextLine 的方法上的输入不匹配异常

c# - 我可以通过 Web 服务从 Mono (Unity 3D) 访问 Sharepoint 列表吗

javascript - JavaScript 的工作原理 : inside the V8 engine?