2010-05-17 441 views
2

我尝试使用HtmlUnit测试Web应用程序时遇到了问题。请记住,我没有使用HtmlUnit很长时间,所以我可能会错过一些微不足道的东西。HtmlUnit不加载外部引用的javascript

由于某些原因,外部引用的javascripts没有被加载。当我打印的页面为XML我得到的是:

<script language="javascript" src="urltofile.js"> 
</script> 

正如你可以看到脚本标记为空时,它应该包含的JavaScript。我错过了什么?我早上搜索了一个解决方案,但没有找到任何相关信息。任何帮助将不胜感激!

+0

你让它工作? – 2011-01-09 09:57:51

回答

1

该标签加载一个外部文件:“urltofile.js”,所以没有什么东西可以加入,因为js代码是从该文件加载的,而不是注入到现有的标记中。

+0

啊,我明白了。任何关于如何将脚本注入现有代码的黑暗想法? – nici 2010-05-17 11:24:37

3

经过许多小时的谷歌搜索后,我发现解决方案非常简单。我所要做的就是在检索页面后等待几秒钟,以便在执行其他任何操作之前允许JavaScript执行一段时间。我可以诚实地说,找到解决方案有点冒失,但至少我现在可以转向更重要的东西。 :)

+0

你一般都想在文档就绪或窗口加载时做一些事情,只是为了确保。此外,我认为它通常被认为是良好的hygene包括类型=“文本/ JavaScript”的脚本标签。 – Gabriel 2010-05-18 06:44:34

+1

我在htmlunit 2.8中遇到了同样的问题,并且还发现这些webClient函数没有帮助(尽管这两个函数都是实验性的API函数并没有完全实用):webClient.waitForBackgroundJavaScript()或webClient.waitForBackgroundJavaScriptStartingBefore()。 – DannyTree 2011-07-24 09:45:55