我们将 HTML Unit v2.6 与 Web-Harvest 结合使用,并扩展其功能以创建新元素
<web session="sess1" browser="firefox2">
<web-getpage url="https://www.linkedin.com/secure/login"/>
<web-setinput name="uname">username</web-setinput>
<web-setinput name="pwd">password</web-setinput>
<web-clickinput name="login"/>
</web>
当我们运行这个时,我们会在元素加载指定的 URL 时遇到异常。详情如下:
原因:net.sourceforge.htmlunit.corejs.javascript.EcmaError:TypeError:无法在对象 net.sourceforge.htmlunit.corejs.javascript.EcmaError 中找到函数 hasOwnProperty:ReferenceError:未定义“Sizzle”。 在 net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3651) 在 net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3629) 在 net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3657) 在net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3676) 在net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3740) 在net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2249) 在net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2216) 在net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1501) 在net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:845) 在net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:164) 在net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:427) 在 com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:263) 在net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3058) 在net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:175) 在 com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$5.doRun(JavaScriptEngine.java:415) 在 com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:520) ... 42 更多
看来是“Sizzle”(出现在 YUI3 中)导致了这种情况。然后我们在 Firefox 和 IE 中进行了相同的检查,但是这两个浏览器都没有显示任何“Sizzle”未定义的错误。
我们还尝试使用 htmlunit 的最新快照,但遇到了同样的问题。
这是 HTML Unit JavaScript 引擎的限制(错误)吗?
或者
是否可以配置 HTML 单元来处理此异常?
如果有人已经遇到过此类问题,请告诉我们。
非常感谢任何帮助。
提前致谢!
最佳答案
Sizzle 是 jQuery 的选择器引擎。它不包含在 YUI 3 中。
关于javascript - YUI 中抛出异常 : "Sizzle" is not defined!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2913587/