我正在使用java HtmlUnit包提交表单。我能够获取页面并提交表单,但在一页上,我收到一个ScriptException错误。该消息是“无法设置属性”禁用“未定义为”0“HtmlUnit属性未定义脚本错误
我认为这可能是由一个javascript方法试图设置一个变量,但尚未在窗体中声明,但我不是当然。
tempForm = MyPage.getFormByName("menu_form");
tempForm.getInputByName("userId").setValueAttribute("myusername");
HtmlPage editSubscriberPage = (HtmlPage)
tempForm.getInputByName("submit_button").click();
EcmaError: lineNumber=[824] column=[0] lineSource=[null] name=[TypeError] sourceName=[script in https://labserver.comp.com/mcwebadm/cgi-bin/edit_local.pl?operation=edit&return_address=%2Fmcwebadm%2Fcgi-bin%2Fmenu.pl&selected=2322020c341b11de96c3000423d43f1d from (9, 32) to (840, 15)] message=[TypeError: Cannot set property "disabled" of undefined to "0" (script in https://myserver.company.com/mcwebadm/cgi-bin/edit_local.pl?operation=edit&return_address=%2Fmcwebadm%2Fcgi-bin%2Fmenu.pl&selected=22020c341b11de96c3000423d43f1d from (9, 32) to (840, 15)#824)]
com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot set property "disabled" of undefined to "0" (script in https://labserver.comp.com/mcwebadm/cgi-bin/edit_local.pl?operation=edit&return_address=%2Fmcwebadm%2Fcgi-bin%2Fmenu.pl&selected=22020c341b11de96c3000423d43f1d from (9, 32) to (840, 15)#824)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:534)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:515)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:507)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:464)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:992)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeEventHandler(EventListenersContainer.java:164)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeBubblingListeners(EventListenersContainer.java:177)
at com.gargoylesoftware.htmlunit.javascript.host.Node.fireEvent(Node.java:584)
at com.gargoylesoftware.htmlunit.html.HtmlElement$2.run(HtmlElement.java:936)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:515)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:507)
at com.gargoylesoftware.htmlunit.html.HtmlElement.fireEvent(HtmlElement.java:941)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeEventHandlersIfNeeded(HtmlPage.java:1237)
at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:183)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:449)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:329)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:354)
at com.gargoylesoftware.htmlunit.html.HtmlForm.submit(HtmlForm.java:179)
at com.gargoylesoftware.htmlunit.html.HtmlSubmitInput.doClickAction(HtmlSubmitInput.java:82)
at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1329)
at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1288)
at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1257)
at TestOne.run(TestOne.java:77)
at TestOne.main(TestOne.java:215)
是否观看同一页面在浏览器中产生JS错误? – seth 2009-07-23 03:45:13
我只是再次测试它,只是注意到加载的页面确实有一个JS错误。有没有一种方法可以告诉HtmlUnit像ie一样继续处理? – Ben 2009-07-23 18:33:47