Hi im using HTMLUnit 2.11
When I ran this script in 2.11 it produces an error http://script.footprintlive.com/?site=vbox.katanatechworks.com but when I ran it in a browser it works
this is the error:
013-01-23 19:15:39,691 [Thread-15] WARN com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl - Obsolete content type encountered: 'text/javascript'.
2013-01-23 19:15:39,702 [Thread-15] DEBUG com.gargoylesoftware.htmlunit.util.EncodingSniffer - Encoding found in HTTP headers: 'UTF-8'.
2013-01-23 19:15:39,828 [Thread-15] INFO com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine - Caught script exception
======= EXCEPTION START ========
EcmaError: lineNumber=[29] column=[0] lineSource=[<no source="">] name=[TypeError] sourceName=[http://script.footprintlive.com/?site=vbox.katanatechworks.com] message=[TypeError: Cannot find function indexOf in object . (http://script.footprintlive.com/?site=vbox.katanatechworks.com#29)]
com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot find function indexOf in object . (http://script.footprintlive.com/?site=vbox.katanatechworks.com#29)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:663)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:559)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:525)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:548)
at com.gargoylesoftware.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:1073)
at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:399)
at com.gargoylesoftware.htmlunit.html.HtmlScript$3.execute(HtmlScript.java:266)
at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:276)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:626)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:585)
at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1169)
at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1071)
at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206)
at org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:330)
at org.cyberneko.html.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:3074)
at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2041)
at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:918)
at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499)
at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:818)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:234)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:180)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:267)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:155)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:483)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:358)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:423)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:408)
at com.trackingnet.core.TrackerHandler.execute(TrackerHandler.java:265)
at com.trackingnet.core.TagEngineRunnable.run(TagEngineRunnable.java:37)
at java.lang.Thread.run(Thread.java:722)
Caused by: net.sourceforge.htmlunit.corejs.javascript.EcmaError: TypeError: Cannot find function indexOf in object . (http://script.footprintlive.com/?site=vbox.katanatechworks.com#29)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3732)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3710)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3738)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3757)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3829)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2277)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2259)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1317)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:815)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:415)
at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:274)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3132)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:120)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScriptEngine.java:539)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:651)
... 32 more
Enclosed exception:
net.sourceforge.htmlunit.corejs.javascript.EcmaError: TypeError: Cannot find function indexOf in object . (http://script.footprintlive.com/?site=vbox.katanatechworks.com#29)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3732)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3710)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3738)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3757)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3829)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2277)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2259)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1317)
at script.put(http://script.footprintlive.com/?site=vbox.katanatechworks.com:29)
at script.f_log(http://script.footprintlive.com/?site=vbox.katanatechworks.com:186)
at script(http://script.footprintlive.com/?site=vbox.katanatechworks.com:280)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:815)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:415)
at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:274)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3132)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:120)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScriptEngine.java:539)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:651)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:559)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:525)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:548)
at com.gargoylesoftware.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:1073)
at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:399)
at com.gargoylesoftware.htmlunit.html.HtmlScript$3.execute(HtmlScript.java:266)
at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:276)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:626)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:585)
at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1169)
at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1071)
at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206)
at org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:330)
at org.cyberneko.html.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:3074)
at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2041)
at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:918)
at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499)
at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:818)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:234)
at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:180)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:267)
at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:155)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:483)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:358)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:423)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:408)
at com.trackingnet.core.TrackerHandler.execute(TrackerHandler.java:265)
at com.trackingnet.core.TagEngineRunnable.run(TagEngineRunnable.java:37)
at java.lang.Thread.run(Thread.java:722)
======= EXCEPTION END ========
2013-01-23 19:15:39,865 [Thread-15] DEBUG com.gargoylesoftware.htmlunit.html.HtmlElement - Firing Event load (Current Target: HTMLElement for HtmlHtml[<html>]);
2013-01-23 19:15:39,873 [Thread-15] INFO com.trackingnet.core.TrackerHandler - End htmlunit tracker for job: 12782349693588912467 Tracker:1
2013-01-23 19:15:39,873 [Thread-15] DEBUG com.trackingnet.core.TrackerHandler - element: script
2013-01-23 19:15:39,873 [Thread-15] DEBUG com.trackingnet.core.TrackerHandler - element: script
2013-01-23 19:15:39,874 [Thread-15] DEBUG com.trackingnet.core.TrackerHandler - <body>
<script language="javascript" src="file:///home/Carlo/trunk/cms/tools/tn_min.js">
</script>
<script type="text/javascript" src="http://script.footprintlive.com/?site=vbox.katanatechworks.com">
</script>
</body>
Which script?
http://script.footprintlive.com/?site=vbox.katanatechworks.com this is the address of the script
This is the script taken from -> http://script.footprintlive.com/?site=vbox.katanatechworks.com
Attached it here
Last edit: kamotlikod 2013-01-23
Sure, but what is needed to reproduce it is the code using HtmlUnit.
Here is the code the I used to call the page
then attached here is the page that I called, Upon running it produces a function not found exception. Im using HTMLUnit 2.11
vbox.katanatechworks.com is not publicly reachable so I can't have a look at it.
Btw: I would get the page with following and not with your strange construct
wc.getPage("http://vbox.katanatechworks.com/www_carlo/onpage/footprint.html");
Oh sorry for that, use this instead to reproduce the error
wc.getPage("http://www.ximagio.com/hutest/test.html");
For info: this works fine when simulating any FF version with latest version from SVN but this fail when simulating an IE version.
@kamotlikod: with which browser did you test? IE8 gives me an error on line 37 too, just like HtmlUnit simulating IE.
@Mark I've used IE to test.
Which IE version did you use?
@kamotlikod: which IE version? As written above, IE8 gives me an error just like HtmlUnit does.
Had another look at this. The method Array.indexOf is not supported by IE8; same with HtmlUnit.
IE throws the same error.