【发布时间】:2013-08-04 02:02:03
【问题描述】:
我正在使用 HtmlUnit 加载一个充满 JavaScript 的网页。 WebClient 执行 JavaScript 就好了。
但是,当我单击调用 Ajax 调用的特定表单上的按钮时,即使调用本身完成,内容(结果)也不会出现在页面上(即使它出现在真正的浏览器中)。
为什么我点击按钮后HtmlPage不包含动态添加的内容?
有没有办法在 HtmlUnit 中获取“更新”页面?
【问题讨论】:
-
当你说调用完成时,你是指执行AJAX请求的调用还是响应回调?我的猜测是您可能会在 AJAX 请求返回之前检查内容。有代码吗?
-
HtmlUnit 将执行 Ajax 调用并将更新页面。请注意,与常规页面加载不同,
click()调用不会等待 Ajax 请求完成。它将立即进入下一行代码。 -
没有代码,我们无法判断您尝试了什么,但这里还有一个问题解释了如何等待 Ajax 请求完成:stackoverflow.com/questions/5555178/…
-
我想我可以用不同的方式解决这个问题。感谢您的帮助