Hallo,
ich habe folgendes Problem: wenn ich mich auf eine Website mit Htmlunit einloggen möchte, erhalte ich den Fehler, dass Htmlunit einen Fehler beim ausführen einer js-Methode hat.
Hier mein Code
Eclipse meldet, dass sich das Programm bei
beendet wurde.
Hier die Fehlermeldung:
Hier ist noch das entsprechende Html-Element
Ist das ein Fehler von Htmlunit? Denn mit AutoIt kann man dieses Element problemlos klicken.
Ich hoffe es findet sich jemand der mir helfen kann.
mfg
Thraex
ich habe folgendes Problem: wenn ich mich auf eine Website mit Htmlunit einloggen möchte, erhalte ich den Fehler, dass Htmlunit einen Fehler beim ausführen einer js-Methode hat.
Hier mein Code
Java:
final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);
HtmlPage page = webClient.getPage(requestSettings);
System.out.println(page.asXml());
List<HtmlAnchor> anchors = page.getAnchors();
HtmlAnchor link = null;
for(HtmlAnchor anchor: anchors)
{
if(anchor.asText().indexOf("82") > -1 )
{
link = anchor;
break;
}
}
page = link.click();
System.out.println(page.asXml());
Eclipse meldet, dass sich das Programm bei
Code:
page = link.click();
Hier die Fehlermeldung:
Code:
14.05.2012 18:57:29 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter error
SCHWERWIEGEND: error: message=[illegal character] sourceName=[onclick event for HtmlAnchor[<a href="\"#\"" onclick="\"return" index.submit_login="">] in [url]http://www.die-website.de/index.php?action=login&server_list=1&show_server_selection=1][/url] line=[0] lineSource=[function(event) {\"return] lineOffset=[19]
Exception in thread "main" ======= EXCEPTION START ========
Exception class=[net.sourceforge.htmlunit.corejs.javascript.EvaluatorException]
com.gargoylesoftware.htmlunit.ScriptException: illegal character
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:595)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:538)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:545)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:520)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:896)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeEventHandler(EventListenersContainer.java:195)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeBubblingListeners(EventListenersContainer.java:214)
at com.gargoylesoftware.htmlunit.javascript.host.Node.fireEvent(Node.java:725)
at com.gargoylesoftware.htmlunit.html.HtmlElement$2.run(HtmlElement.java:866)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:538)
at com.gargoylesoftware.htmlunit.html.HtmlElement.fireEvent(HtmlElement.java:871)
at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1240)
at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1195)
at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1158)
at main.Browser.login(Browser.java:54)
at main.Main.main(Main.java:12)
Caused by: net.sourceforge.htmlunit.corejs.javascript.EvaluatorException: illegal character
at com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter.error(StrictErrorReporter.java:63)
at net.sourceforge.htmlunit.corejs.javascript.Parser.addError(Parser.java:230)
at net.sourceforge.htmlunit.corejs.javascript.Parser.addError(Parser.java:208)
at net.sourceforge.htmlunit.corejs.javascript.Parser.addError(Parser.java:204)
at net.sourceforge.htmlunit.corejs.javascript.TokenStream.getToken(TokenStream.java:861)
at net.sourceforge.htmlunit.corejs.javascript.Parser.peekToken(Parser.java:327)
at net.sourceforge.htmlunit.corejs.javascript.Parser.parseFunctionBody(Parser.java:640)
at net.sourceforge.htmlunit.corejs.javascript.Parser.function(Parser.java:837)
at net.sourceforge.htmlunit.corejs.javascript.Parser.parse(Parser.java:561)
at net.sourceforge.htmlunit.corejs.javascript.Parser.parse(Parser.java:506)
at net.sourceforge.htmlunit.corejs.javascript.Context.compileImpl(Context.java:2417)
at net.sourceforge.htmlunit.corejs.javascript.Context.compileFunction(Context.java:1424)
at net.sourceforge.htmlunit.corejs.javascript.Context.compileFunction(Context.java:1413)
at com.gargoylesoftware.htmlunit.javascript.host.EventHandler.call(EventHandler.java:76)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$4.doRun(JavaScriptEngine.java:538)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:589)
... 17 more
Enclosed exception:
net.sourceforge.htmlunit.corejs.javascript.EvaluatorException: illegal character
at com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter.error(StrictErrorReporter.java:63)
at net.sourceforge.htmlunit.corejs.javascript.Parser.addError(Parser.java:230)
at net.sourceforge.htmlunit.corejs.javascript.Parser.addError(Parser.java:208)
at net.sourceforge.htmlunit.corejs.javascript.Parser.addError(Parser.java:204)
at net.sourceforge.htmlunit.corejs.javascript.TokenStream.getToken(TokenStream.java:861)
at net.sourceforge.htmlunit.corejs.javascript.Parser.peekToken(Parser.java:327)
at net.sourceforge.htmlunit.corejs.javascript.Parser.parseFunctionBody(Parser.java:640)
at net.sourceforge.htmlunit.corejs.javascript.Parser.function(Parser.java:837)
at net.sourceforge.htmlunit.corejs.javascript.Parser.parse(Parser.java:561)
at net.sourceforge.htmlunit.corejs.javascript.Parser.parse(Parser.java:506)
at net.sourceforge.htmlunit.corejs.javascript.Context.compileImpl(Context.java:2417)
at net.sourceforge.htmlunit.corejs.javascript.Context.compileFunction(Context.java:1424)
at net.sourceforge.htmlunit.corejs.javascript.Context.compileFunction(Context.java:1413)
at com.gargoylesoftware.htmlunit.javascript.host.EventHandler.call(EventHandler.java:76)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$4.doRun(JavaScriptEngine.java:538)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:589)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:538)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:545)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:520)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:896)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeEventHandler(EventListenersContainer.java:195)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeBubblingListeners(EventListenersContainer.java:214)
at com.gargoylesoftware.htmlunit.javascript.host.Node.fireEvent(Node.java:725)
at com.gargoylesoftware.htmlunit.html.HtmlElement$2.run(HtmlElement.java:866)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:538)
at com.gargoylesoftware.htmlunit.html.HtmlElement.fireEvent(HtmlElement.java:871)
at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1240)
at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1195)
at com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1158)
at main.Browser.login(Browser.java:54)
at main.Main.main(Main.java:12)
== CALLING JAVASCRIPT ==
function () {
[native code, arity=0]
}
======= EXCEPTION END ========
Hier ist noch das entsprechende Html-Element
HTML:
<a onclick="return Index.submit_login('82');" href="#">
<span class="world_button_active">82</span>
</a>
Ist das ein Fehler von Htmlunit? Denn mit AutoIt kann man dieses Element problemlos klicken.
Ich hoffe es findet sich jemand der mir helfen kann.
mfg
Thraex