- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 htmlunit 2.9 并且在 java 脚本解析时由于 console
在以下异常中出现脚本异常
function debug(o){
if (console && console.log){
console.log(o)
}
};
堆栈跟踪
EcmaError:
lineNumber=[168]
column=[0]
lineSource=[null]
name=[ReferenceError]
sourceName=[script in http://localhost:808/mypage/ll.html from (154, 36) to (301, 14)]
message=[ReferenceError: "console" is not defined. (script in http://localhost:8080.com/mypage/ll.html from (154, 36) to (301, 14)#168)]
com.gargoylesoftware.htmlunit.ScriptException: ReferenceError: "console" is not defined. (script in http://localhost:8080.com/mypage/ll.html from (154, 36) to (301, 14)#168)
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)
如果我在 firefox 上尝试指定页面,它工作正常,我已经尝试过 v 3.6 和 9.0.1。
我也尝试过设置 setThrowExceptionOnScriptError(false)
以避免出现异常但引擎停止或在收到错误后不解析 javascript。
javascript引擎有什么办法可以理解javascript中的console
吗?
最佳答案
您的 if
条件结构不正确:
if (console && console.log){
如果未设置,第一个 if 将抛出错误;在未定义的环境中访问 console
就像访问任何 undefined variable 一样;它会抛出一个ReferenceError
。
尝试:
if( typeof console != "undefined" && console.log ) {
或者:
if(window.console && console.log) {
它不会在 Firefox 中抛出错误,因为 Firefox 实现了 Firebug API,Chrome 和 Safari 也是如此。但是,默认情况下,Internet Explorer 不会,因此,值得在这里进行适当的功能检查,因为它会在未实现此 API 的浏览器中抛出 ReferenceError。
关于java - Htmlunit ScriptException "console"未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8690652/
在 ejb 项目中注入(inject) javascript 时出现此错误: Unhandled exception type ScriptException. 这是我的代码: @Override p
我正在使用 HtmlUnitDriver,这是我的代码。 HtmlUnitDriver driver = new HtmlUnitDriver(true); driver.get("som
我遇到了一行代码的问题,它可能会触发一些 js 函数并导致异常,我该如何解决这个问题? box.setText(link.toString()); client.waitForBackgroundJa
如何通过symfony配置启用动态脚本? I have simply multiply 2*2 but it can't works. curl -XGET 'http://localhost:920
我正在使用 HTMLUnit 来抓取网站。我正在使用 htmlunit-2.19 版本。我知道这是重复的问题,但相信我,我尝试了在谷歌中找到的所有解决方案,但我仍然遇到了这个异常(exception)
我正在使用 htmlunit 2.9 并且在 java 脚本解析时由于 console 在以下异常中出现脚本异常 function debug(o){ if (console && console
在一个 Maven 项目中,我有使用 Kotlin ScriptEngine 的测试。 (只需调用 scriptEngine.eval(script) )。当我从 IntelliJ 运行测试时,它们都
我正在使用 Jmeter 5.0,其中我在 JSR223 后处理器中编写了一段 Java 代码。代码如下- import java.util.Map; import java.util.HashMap
我正在尝试使用 JSR223 预处理器在 JMeter 中实现下面的代码,但是面临标题中提到的问题。 public class G2bApiServletReturns extends GstUtil
我正在使用 JRE6 中内置的 JSR-223 脚本引擎执行 Javascript。 Javascripts 能够访问 Java 代码和对象。当从 JavaScript 执行的 Java 代码抛出异常
我们有一个字符串输入,比如说2+2。现在我们要对其进行转换以便计算。我已经为其编写了以下代码,如果我在 main 方法中使用此 throws ScriptException ,它就会起作用。但我不想在
我使用 testng 和 htmlUnitDriver 运行 Selenium 测试。我使用一个 webDriver 实例进行所有测试。我只是在每个测试类之后注销并清除 cookie driver.m
我运行下面的 java 文件时遇到此错误。 import java.io.BufferedReader; import java.io.InputStreamReader; import java.
尝试使用 JSR233 采样器在 Jmeter 中运行 Selenium Webdriver 脚本。该脚本在 Eclipse IDE 中运行良好,但在 Jmeter 中遇到以下错误。 ERROR o.
我正在尝试浏览http://taxtest.navajocountyaz.gov/Pages/WebForm1.aspx?p=1&apn=10301003B使用 Java 代码和最新版本的 HTMLU
[root@piyushjoshi bin]# sh cli.sh用户名: 管理员密码:欢迎使用 XL Deploy Jython CLI!输入“help”以了解可用于与 XL Deploy 交互的对
我是一名优秀的程序员,十分优秀!