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 repo   -  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