From: Gyetvai B. <gyb...@gm...> - 2017-05-21 14:44:33
|
Htm...@li... <mailto:Htm...@li...> Hi, and thanks for any hint. I am using HtmlUnit 2.5 I am trying to click on a link with the following Href attribute: javascript:window.open('https://www.apps.amway.hu/shop/los/los.aspx?lng=hu', 'points_window', 'width=830,height=580,location=0,menubar=0,resizable=1,scrollbars=1,status=1 ,titlebar=0,toolbar=0');void(0); It is a pop-up window. The WebWindowListener catches the window but then it crashes. My code: link = (HtmlAnchor) page.getFirstByXPath("//*[@id=\"content\"]/div[2]/div[2]/div[3]/a"); page= (HtmlPage) link.click(); Stack: com.gargoylesoftware.htmlunit.ScriptException: Exception invoking open ======= EXCEPTION START ======== Exception class=[java.lang.RuntimeException] com.gargoylesoftware.htmlunit.ScriptException: Exception invoking open at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAct ion.run(JavaScriptEngine.java:894) at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactor y.java:515) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScript Engine.java:775) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScript Engine.java:751) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScript Engine.java:739) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(Html Page.java:910) at com.gargoylesoftware.htmlunit.html.HtmlAnchor.doClickStateUpdate(HtmlAnchor. java:133) at com.gargoylesoftware.htmlunit.html.HtmlAnchor.doClickStateUpdate(HtmlAnchor. java:211) at com.gargoylesoftware.htmlunit.html.DomElement.click(DomElement.java:999) at com.gargoylesoftware.htmlunit.html.HtmlAnchor.click(HtmlAnchor.java:83) at com.gargoylesoftware.htmlunit.html.DomElement.click(DomElement.java:944) at com.gargoylesoftware.htmlunit.html.DomElement.click(DomElement.java:884) at com.gargoylesoftware.htmlunit.html.DomElement.click(DomElement.java:865) at PopUpAmw.PopUpAmw.main(PopUpAmw.java:191) Caused by: java.lang.RuntimeException: Exception invoking open at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:1 82) at net.sourceforge.htmlunit.corejs.javascript.FunctionObject.call(FunctionObjec t.java:448) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpr eter.java:1540) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter .java:800) at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(Interpre tedFunction.java:105) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextF actory.java:413) at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(Ht mlUnitContextFactory.java:292) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRun time.java:3264) at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(Interpre tedFunction.java:115) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScript Engine.java:766) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAct ion.run(JavaScriptEngine.java:879) ... 14 more Caused by: com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot read property "length" from undefined (https://www.apps.amway.hu/Shop/JS/Tealeaf/TeaLeaf.js#270) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAct ion.run(JavaScriptEngine.java:894) at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactor y.java:515) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaS criptEngine.java:824) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaS criptEngine.java:796) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossi ble(HtmlPage.java:2454) at com.gargoylesoftware.htmlunit.javascript.host.event.EventListenersContainer. executeEventListeners(EventListenersContainer.java:259) at com.gargoylesoftware.htmlunit.javascript.host.event.EventListenersContainer. executeBubblingListeners(EventListenersContainer.java:325) at com.gargoylesoftware.htmlunit.javascript.host.event.EventTarget.fireEvent(Ev entTarget.java:188) at com.gargoylesoftware.htmlunit.html.DomElement$2.run(DomElement.java:1389) at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactor y.java:515) at com.gargoylesoftware.htmlunit.html.DomElement.fireEvent(DomElement.java:1394 ) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeEventHandlersIfNeeded(Htm lPage.java:1201) at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:253) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:5 24) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:391) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:309) at com.gargoylesoftware.htmlunit.WebClient.openWindow(WebClient.java:874) at com.gargoylesoftware.htmlunit.javascript.host.Window.open(Window.java:453) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:43) at java.lang.reflect.Method.invoke(Method.java:498) at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:1 53) ... 24 more Caused by: net.sourceforge.htmlunit.corejs.javascript.EcmaError: TypeError: Cannot read property "length" from undefined (https://www.apps.amway.hu/Shop/JS/Tealeaf/TeaLeaf.js#270) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(Scri ptRuntime.java:3915) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(Scri ptRuntime.java:3899) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRun time.java:3924) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError2(ScriptRu ntime.java:3940) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.undefReadError(Scri ptRuntime.java:3951) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getObjectProp(Scrip tRuntime.java:1492) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpr eter.java:1247) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter .java:800) at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(Interpre tedFunction.java:105) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$4.doRun(JavaScript Engine.java:815) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAct ion.run(JavaScriptEngine.java:879) ... 48 more Enclosed exception: java.lang.RuntimeException: Exception invoking open at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:1 82) at net.sourceforge.htmlunit.corejs.javascript.FunctionObject.call(FunctionObjec t.java:448) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpr eter.java:1540) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter .java:800) at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(Interpre tedFunction.java:105) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextF actory.java:413) at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(Ht mlUnitContextFactory.java:292) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRun time.java:3264) at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(Interpre tedFunction.java:115) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScript Engine.java:766) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAct ion.run(JavaScriptEngine.java:879) at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactor y.java:515) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScript Engine.java:775) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScript Engine.java:751) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScript Engine.java:739) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(Html Page.java:910) at com.gargoylesoftware.htmlunit.html.HtmlAnchor.doClickStateUpdate(HtmlAnchor. java:133) at com.gargoylesoftware.htmlunit.html.HtmlAnchor.doClickStateUpdate(HtmlAnchor. java:211) at com.gargoylesoftware.htmlunit.html.DomElement.click(DomElement.java:999) at com.gargoylesoftware.htmlunit.html.HtmlAnchor.click(HtmlAnchor.java:83) at com.gargoylesoftware.htmlunit.html.DomElement.click(DomElement.java:944) at com.gargoylesoftware.htmlunit.html.DomElement.click(DomElement.java:884) at com.gargoylesoftware.htmlunit.html.DomElement.click(DomElement.java:865) at PopUpAmw.PopUpAmw.main(PopUpAmw.java:191) Caused by: com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot read property "length" from undefined (https://www.apps.amway.hu/Shop/JS/Tealeaf/TeaLeaf.js#270) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAct ion.run(JavaScriptEngine.java:894) at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactor y.java:515) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaS criptEngine.java:824) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaS criptEngine.java:796) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossi ble(HtmlPage.java:2454) at com.gargoylesoftware.htmlunit.javascript.host.event.EventListenersContainer. executeEventListeners(EventListenersContainer.java:259) at com.gargoylesoftware.htmlunit.javascript.host.event.EventListenersContainer. executeBubblingListeners(EventListenersContainer.java:325) at com.gargoylesoftware.htmlunit.javascript.host.event.EventTarget.fireEvent(Ev entTarget.java:188) at com.gargoylesoftware.htmlunit.html.DomElement$2.run(DomElement.java:1389) at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628) at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactor y.java:515) at com.gargoylesoftware.htmlunit.html.DomElement.fireEvent(DomElement.java:1394 ) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeEventHandlersIfNeeded(Htm lPage.java:1201) at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:253) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:5 24) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:391) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:309) at com.gargoylesoftware.htmlunit.WebClient.openWindow(WebClient.java:874) at com.gargoylesoftware.htmlunit.javascript.host.Window.open(Window.java:453) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:43) at java.lang.reflect.Method.invoke(Method.java:498) at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:1 53) ... 24 more Caused by: net.sourceforge.htmlunit.corejs.javascript.EcmaError: TypeError: Cannot read property "length" from undefined (https://www.apps.amway.hu/Shop/JS/Tealeaf/TeaLeaf.js#270) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(Scri ptRuntime.java:3915) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(Scri ptRuntime.java:3899) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRun time.java:3924) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError2(ScriptRu ntime.java:3940) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.undefReadError(Scri ptRuntime.java:3951) at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getObjectProp(Scrip tRuntime.java:1492) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpr eter.java:1247) at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter .java:800) at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(Interpre tedFunction.java:105) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$4.doRun(JavaScript Engine.java:815) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAct ion.run(JavaScriptEngine.java:879) ... 48 more ======= EXCEPTION END ======== |
From: Ronald B. <rb...@rb...> - 2017-05-23 19:25:52
|
Hi Gyetvai >and thanks for any hint. >I am using HtmlUnit 2.5 HtmlUnit 2.5 is really outdated. Please use the latest version or even better the latest snapshot (details are available at the web page). Sorry but we can't support old versions. >I am trying to click on a link with the following Href attribute: > >javascript:window.open('https://www.apps.amway.hu/shop/los/los.aspx?lng=hu', >'points_window', >'width=830,height=580,location=0,menubar=0,resizable=1,scrollbars=1,status=1 >,titlebar=0,toolbar=0');void(0); The javascript here is not the problem. There seems to be some javascript in the new window executed after the window opens. This javascript fails. >It is a pop-up window. The WebWindowListener catches the window but then it >crashes. RBRi -------------------------- WETATOR Smart web application testing http://www.wetator.org |