Menu

#1857 JS exception during webpage load when debug mode is configiured

2.25
closed
RBRi
javascript (30)
1
2017-03-27
2017-03-04
Vimal
No

I am using this code to get all HTTP request made by the webpage during loading.

WebClient wc = new WebClient(BrowserVersion.EDGE);
wc.getOptions().setJavaScriptEnabled(true);
String resultFolder = "results";
WebConnection connection = new DebuggingWebConnection(wc.getWebConnection(), resultFolder);
wc.setWebConnection(connection);
HtmlPage page = (HtmlPage) wc.getPage("https://einthusan.tv/movie/watch/2Gqk/");
System.out.println();
wc.close();

After executing this code in debug mode I am getting JS exception:

======= EXCEPTION START ========
EcmaError: lineNumber=[74] column=[0] lineSource=[null] name=[TypeError] sourceName=[https://einthusan.tv/jscache/75O3oR1M5uBNmLnnPFeE4A/einthusan-PGMovieWatcher.js] message=[TypeError: Cannot find function isTypeSupported in object function MediaSource() { [native code] }. (https://einthusan.tv/jscache/75O3oR1M5uBNmLnnPFeE4A/einthusan-PGMovieWatcher.js#74)]
com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot find function isTypeSupported in object function MediaSource() { [native code] }. (https://einthusan.tv/jscache/75O3oR1M5uBNmLnnPFeE4A/einthusan-PGMovieWatcher.js#74)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:894)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:515)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:824)
at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.setState(XMLHttpRequest.java:239)
at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.doSend(XMLHttpRequest.java:807)
at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.access$000(XMLHttpRequest.java:103)
at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest$1.run(XMLHttpRequest.java:657)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:515)
at com.gargoylesoftware.htmlunit.javascript.background.JavascriptXMLHttpRequestJob.run(JavascriptXMLHttpRequestJob.java:36)
at com.gargoylesoftware.htmlunit.javascript.background.JavaScriptJobManagerImpl.runSingleJob(JavaScriptJobManagerImpl.java:425)
at com.gargoylesoftware.htmlunit.javascript.background.DefaultJavaScriptExecutor.run(DefaultJavaScriptExecutor.java:155)
at java.lang.Thread.run(Thread.java:745)
Caused by: net.sourceforge.htmlunit.corejs.javascript.EcmaError: TypeError: Cannot find function isTypeSupported in object function MediaSource() { [native code] }. (https://einthusan.tv/jscache/75O3oR1M5uBNmLnnPFeE4A/einthusan-PGMovieWatcher.js#74)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3915)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3899)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3924)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3940)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:4007)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2402)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2384)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1342)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:800)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:105)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:413)
at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:292)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3264)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$4.doRun(JavaScriptEngine.java:817)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:879)
... 13 more
Enclosed exception:
net.sourceforge.htmlunit.corejs.javascript.EcmaError: TypeError: Cannot find function isTypeSupported in object function MediaSource() { [native code] }. (https://einthusan.tv/jscache/75O3oR1M5uBNmLnnPFeE4A/einthusan-PGMovieWatcher.js#74)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3915)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3899)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3924)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3940)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:4007)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2402)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2384)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1342)
at script.detectStreamingTech(https://einthusan.tv/jscache/75O3oR1M5uBNmLnnPFeE4A/einthusan-PGMovieWatcher.js:74)
at script(https://einthusan.tv/jscache/75O3oR1M5uBNmLnnPFeE4A/einthusan-PGMovieWatcher.js:6383)
at script(https://einthusan.tv/jscache/75O3oR1M5uBNmLnnPFeE4A/einthusan-PGMovieWatcher.js:6387)
at script(https://einthusan.tv/jscache/75O3oR1M5uBNmLnnPFeE4A/einthusan-PGMovieWatcher.js:6055)
at script(https://einthusan.tv/jscache/3.60/arc65.js:1554)
at script(https://einthusan.tv/jscache/3.60/arc65.js:1583)
at script.r(https://einthusan.tv/jscache/3.60/arc65.js:2506)
at script(https://einthusan.tv/jscache/3.60/arc65.js:2643)
at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:800)
at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:105)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:413)
at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:292)
at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3264)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$4.doRun(JavaScriptEngine.java:817)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:879)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:515)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:824)
at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.setState(XMLHttpRequest.java:239)
at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.doSend(XMLHttpRequest.java:807)
at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest.access$000(XMLHttpRequest.java:103)
at com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest$1.run(XMLHttpRequest.java:657)
at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628)
at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:515)
at com.gargoylesoftware.htmlunit.javascript.background.JavascriptXMLHttpRequestJob.run(JavascriptXMLHttpRequestJob.java:36)
at com.gargoylesoftware.htmlunit.javascript.background.JavaScriptJobManagerImpl.runSingleJob(JavaScriptJobManagerImpl.java:425)
at com.gargoylesoftware.htmlunit.javascript.background.DefaultJavaScriptExecutor.run(DefaultJavaScriptExecutor.java:155)
at java.lang.Thread.run(Thread.java:745)
== CALLING JAVASCRIPT ==
function () {
n && (n = r = s.onload = s.onerror = s.onabort = s.onreadystatechange = null, "abort" === e ? s.abort() : "error" === e ? "number" != typeof s.status ? o(0, "error") : o(s.status, s.statusText) : o(Rt[s.status] || s.status, s.statusText, "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? {binary: s.response} : {text: s.responseText}, s.getAllResponseHeaders()));
}
======= EXCEPTION END ========

Discussion

  • RBRi

    RBRi - 2017-03-05

    The function was MediaSource.isTypeSupported was not supported by HtmlUnit so far. Have added a stub.

     

    Last edit: RBRi 2017-03-27
  • RBRi

    RBRi - 2017-03-05
    • status: open --> accepted
     
  • RBRi

    RBRi - 2017-03-27
    • status: accepted --> closed
    • assigned_to: RBRi
     
  • RBRi

    RBRi - 2017-03-27

    snapshot build with the fix is available

     

Log in to post a comment.