HtmlUnit ignore JavaScript errors?

杀马特。学长 韩版系。学妹 提交于 2019-11-28 11:57:46

Alexey's answer is for HttpUnit. For HtmlUnit the code is similar

WebClient client = new WebClient();
client.getOptions().setThrowExceptionOnScriptError(false);
jseteny

I tried to use Matthews answer and needed to override the newWebClient() method using the following way:

    HtmlUnitDriver driver = new HtmlUnitDriver(true) {
        @Override
        protected WebClient newWebClient(BrowserVersion version) {
            WebClient webClient = super.newWebClient(version);
            webClient.getOptions().setThrowExceptionOnScriptError(false);
            return webClient;
        }
    };

You can use the following methods of HttpUnitOptions class:

//change the scriptingEnabled flag
static void setScriptingEnabled(boolean scriptingEnabled)

// Determines whether script errors result in exceptions or warning messages.
static void setExceptionsThrownOnScriptError(boolean throwExceptions)

Or enclose the problem area in try-catch block -

try {
   // code with error

}catch(e) {
   // handle error
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!