Menu

#1477 Cannot Find Function Error

2.11
closed
nobody
1
2015-01-22
2013-01-23
kamotlikod
No

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>

Discussion

  • Marc Guillemot

    Marc Guillemot - 2013-01-23

    Which script?

     
  • Marc Guillemot

    Marc Guillemot - 2013-01-23

    Sure, but what is needed to reproduce it is the code using HtmlUnit.

     
  • kamotlikod

    kamotlikod - 2013-01-24

    Here is the code the I used to call the page

        WebClient wc = new WebClient();
        wc.getOptions().setThrowExceptionOnFailingStatusCode(false);
        wc.getOptions().setThrowExceptionOnScriptError(true);
        wc.getOptions().setTimeout(10000);
        wc.setJavaScriptTimeout(200000); // Maximun script waiting time
        wc.getOptions().setJavaScriptEnabled(true);  // Enable the JavaScript engine.
        wc.getOptions().setRedirectEnabled(true);    // Follow redirects.
        try {
            wc.loadWebResponseInto(wc.loadWebResponse(new WebRequest(new URL("http://vbox.katanatechworks.com/www_carlo/onpage/footprint.html"))), wc.getCurrentWindow().getTopWindow());
        } catch (FailingHttpStatusCodeException | IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    

    then attached here is the page that I called, Upon running it produces a function not found exception. Im using HTMLUnit 2.11

     
  • Marc Guillemot

    Marc Guillemot - 2013-01-24

    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");

     
  • kamotlikod

    kamotlikod - 2013-01-24

    Oh sorry for that, use this instead to reproduce the error

    wc.getPage("http://www.ximagio.com/hutest/test.html");

     
  • Marc Guillemot

    Marc Guillemot - 2013-01-30

    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.

     
  • Marc Guillemot

    Marc Guillemot - 2013-01-30
    • status: open --> pending
     
  • kamotlikod

    kamotlikod - 2013-01-31

    @Mark I've used IE to test.

     
  • Marc Guillemot

    Marc Guillemot - 2013-01-31

    Which IE version did you use?

     
  • Marc Guillemot

    Marc Guillemot - 2013-07-11

    @kamotlikod: which IE version? As written above, IE8 gives me an error just like HtmlUnit does.

     
  • RBRi

    RBRi - 2013-12-09
    • status: pending --> closed
     
  • RBRi

    RBRi - 2013-12-09

    Had another look at this. The method Array.indexOf is not supported by IE8; same with HtmlUnit.
    IE throws the same error.

     

Log in to post a comment.