2013-08-04 94 views
3

我使用HtmlUnit加载了一个充满JavaScript的网页。 WebClient执行JavaScript就好了。然而,当我点击一个调用Ajax调用的特定表单上的按钮时,即使调用本身完成,内容(结果)也不会出现在页面上(即使它在真实浏览器中)。HtmlUnit - 获取更新页面?

为什么HtmlPage包含我点击按钮后动态添加的内容?

有没有办法在HtmlUnit中获得“更新”页面?

+1

当你说的调用完成,你的意思是执行AJAX请求来电或响应回调?我的猜测是你可能会在AJAX请求返回之前检查内容。任何代码? –

+2

HtmlUnit将执行Ajax调用,**将**更新页面。请注意,与常规页面加载不同,'click()'调用将不**等待Ajax请求的完成。它会立即进入下一行代码。 – acdcjunior

+0

没有代码,我们不能告诉你已经尝试了什么,但这里有另外一个问题解释了如何等待Ajax请求完成:http://stackoverflow.com/questions/5555178/htmlunit-doesnt-waitfor -javascript – Vulcan

回答

0

首先,你必须等待AJAX​​调用完成,那么它需要Ajax调用后您的网页同步,

synchronized (your_page);