3
我使用HtmlUnit加载了一个充满JavaScript的网页。 WebClient
执行JavaScript就好了。然而,当我点击一个调用Ajax调用的特定表单上的按钮时,即使调用本身完成,内容(结果)也不会出现在页面上(即使它在真实浏览器中)。HtmlUnit - 获取更新页面?
为什么HtmlPage
包含我点击按钮后动态添加的内容?
有没有办法在HtmlUnit中获得“更新”页面?
我使用HtmlUnit加载了一个充满JavaScript的网页。 WebClient
执行JavaScript就好了。然而,当我点击一个调用Ajax调用的特定表单上的按钮时,即使调用本身完成,内容(结果)也不会出现在页面上(即使它在真实浏览器中)。HtmlUnit - 获取更新页面?
为什么HtmlPage
包含我点击按钮后动态添加的内容?
有没有办法在HtmlUnit中获得“更新”页面?
首先,你必须等待AJAX调用完成,那么它需要Ajax调用后您的网页同步,
synchronized (your_page);
当你说的调用完成,你的意思是执行AJAX请求来电或响应回调?我的猜测是你可能会在AJAX请求返回之前检查内容。任何代码? –
HtmlUnit将执行Ajax调用,**将**更新页面。请注意,与常规页面加载不同,'click()'调用将不**等待Ajax请求的完成。它会立即进入下一行代码。 – acdcjunior
没有代码,我们不能告诉你已经尝试了什么,但这里有另外一个问题解释了如何等待Ajax请求完成:http://stackoverflow.com/questions/5555178/htmlunit-doesnt-waitfor -javascript – Vulcan