我正在网站上执行一些测试,该网站指的是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 = []")
,但仍然失败
答案 0 :(得分:0)
请勿将HtmlUnit用于具有严重JavaScript的页面。它的JavaScript引擎根本不够好。
改为使用硒。