HtmlUnit игнорировать ошибки JavaScript? - программирование

HtmlUnit игнорировать ошибки JavaScript?

Я пытаюсь пройти через веб-сайт, но на одной из своих страниц я получаю эту ошибку:

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)

В любом случае я могу просто проигнорировать эту ошибку? Я не особо забочусь, правильно ли календарь загружается.

4b9b3361

Ответ 1

Ответ Alexey для HttpUnit. Для HtmlUnit код похож на

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

Ответ 2

Я попытался использовать ответ Matthews и должен был переопределить метод newWebClient() следующим образом:

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

Ответ 3

Вы можете использовать следующие методы HttpUnitOptions класс:

//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
}