【发布时间】:2014-09-07 13:47:00
【问题描述】:
我是 HtmlUnit 的新手。如果这已经被问及回答,请原谅。
我无法让 HtmlUnit 处理使用 JQuery 的页面。更准确地说,我无法让 HtmlUnit 处理任何使用 document.addEventListener() 的 JS 代码,例如 JQuery。例如,以下页面在浏览器中工作,但在 HtmlUnit 中不工作:
<html><head>
<script>
function atest() {}
document.addEventListener( "load", atest, false );
</script>
</head>
<body>This page will load in a browser, but not HtmlUnit.</body></html>
产生的错误是:
======= EXCEPTION START ========
EcmaError: lineNumber=[5] column=[0] lineSource=[<no source>] name=[TypeError] sourceName=[script in http://myhost:8080/mpt/dummy from (3, 9) to (6, 10)] message= [TypeError: Cannot find function addEventListener in object [object]. (script in http://myhost:8080/mpt/dummy from (3, 9) to (6, 10)#5)]
com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot find function addEventListener in object [object]. (script in http://myhost:8080/mpt/dummy from (3, 9) to (6, 10)#5)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:705)
…
我尝试了几个不同版本的 JQuery 和 HtmlUnit。我确信 HtmlUnit 可以与 JQuery 一起使用(不是吗?),但可能有一个我不知道的问题。所以提示赞赏。我的 JUnit 代码(如果相关)是:
@Test
public void test() throws FailingHttpStatusCodeException, MalformedURLException, IOException {
WebClient webClient = new WebClient();
webClient.getPage("http://myhost:8080/mpt/dummy");
}
谢谢
【问题讨论】:
标签: jquery htmlunit addeventlistener