【问题标题】:HtmlUnit - Get updated page?HtmlUnit - 获取更新页面?
【发布时间】:2013-08-04 02:02:03
【问题描述】:

我正在使用 HtmlUnit 加载一个充满 JavaScript 的网页。 WebClient 执行 JavaScript 就好了。

但是,当我单击调用 Ajax 调用的特定表单上的按钮时,即使调用本身完成,内容(结果)也不会出现在页面上(即使它出现在真正的浏览器中)。

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

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

【问题讨论】:

  • 当你说调用完成时,你是指执行AJAX请求的调用还是响应回调?我的猜测是您可能会在 AJAX 请求返回之前检查内容。有代码吗?
  • HtmlUnit 将执行 Ajax 调用并更新页面。请注意,与常规页面加载不同,click() 调用不会等待 Ajax 请求完成。它将立即进入下一行代码。
  • 没有代码,我们无法判断您尝试了什么,但这里还有一个问题解释了如何等待 Ajax 请求完成:stackoverflow.com/questions/5555178/…
  • 我想我可以用不同的方式解决这个问题。感谢您的帮助

标签: java htmlunit


【解决方案1】:

首先你必须等待 AJAX 调用完成,然后需要在 Ajax 调用后同步你的页面,

    synchronized (your_page);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多