HtmlUnit: setThrowExceptionOnScriptError (false) не работает

Я выполняю некоторый тест на веб-сайте, который ссылается на массив javascript _gaq, и он нигде не определен на странице. Я вижу подобное исключение в браузере, но оно его игнорирует. Ставлю метод setThrowExceptionOnScriptError(false) но все равно выкидывает

com.gargoylesoftware.htmlunit.ScriptException: ReferenceError: "_gaq" is not defined.

Ниже мой код

WebClient wb = new WebClient(BrowserVersion.CHROME);
wb.getOptions().setThrowExceptionOnScriptError(false);
page = wb.getPage("http://www.axisbank.com/");
HtmlElement el = ((HtmlElement)(page.getByXPath("//*[@id=\"form1\"]/div[5]/div[2]/div[3]/div/div[5]/img").get(0)));
page = el.click();
el = ((HtmlElement)(page.getByXPath("//*[@id=\"ContentPlaceHolder1_btnLogin\"]").get(0)));
System.out.println(el.asText());
page = el.click();

Любое предложение, как решить эту проблему. Я пытался добавить page.executeScript("var _gaq = []"), но все равно не получается


person Sumit Kumar    schedule 28.08.2015    source источник
comment
Проблема не возникает с последним снимком, какую версию вы используете?   -  person Ahmed Ashour    schedule 02.09.2015
comment
Я использую версию 2.18, и это последняя версия в репозитории mvn.   -  person Sumit Kumar    schedule 03.09.2015
comment
Протестируйте с последним моментальным снимком.   -  person Ahmed Ashour    schedule 03.09.2015
comment
Я все еще получаю ту же ошибку со сборкой моментального снимка 2.19.   -  person Sumit Kumar    schedule 03.09.2015
comment
Я повторно протестировал, и код, который вы упомянули, не является исключением, пожалуйста, опубликуйте свой полный метод тестирования.   -  person Ahmed Ashour    schedule 04.09.2015


Ответы (1)


Не используйте HtmlUnit для страниц с серьезным JavaScript. Его движок JavaScript просто недостаточно хорош.

Вместо этого используйте селен.

person yurin    schedule 28.07.2020