HtmlUnit忽略JavaScript错误?

时间:2014-01-22 21:48:33

标签: java htmlunit htmlunit-driver

我正试图遍历一个网站,但在其中一个网页上我收到了这个错误:

EcmaError: lineNumber=[671] column=[0] lineSource=[null] name=[TypeError] sourceName=[https://reservations.besodelsolresort.com/asp/CalendarPopup.js] message=[TypeError: Cannot read property "parentNode" from undefined (https://reservations.besodelsolresort.com/asp/CalendarPopup.js#671)]
com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot read property "parentNode" from undefined (https://reservations.besodelsolresort.com/asp/CalendarPopup.js#671)

无论如何我可以忽略这个错误吗?如果日历加载正确,我并不特别在意。

3 个答案:

答案 0 :(得分:27)

Alexey的答案是针对HttpUnit的。对于HtmlUnit,代码类似

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

答案 1 :(得分:7)

我尝试使用Matthews的答案,并且需要使用以下方法覆盖newWebClient()方法:

$USER

答案 2 :(得分:0)

您可以使用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)

或者将问题区域包含在try-catch块中 -

try {
   // code with error

}catch(e) {
   // handle error
}