HtmlUnit:setThrowExceptionOnScriptError(false)不起作用

时间:2015-08-28 05:15:24

标签: java htmlunit

我正在网站上执行一些测试,该网站指的是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 = []"),但仍然失败

1 个答案:

答案 0 :(得分:0)

请勿将HtmlUnit用于具有严重JavaScript的页面。它的JavaScript引擎根本不够好。

改为使用硒。