【发布时间】:2017-11-29 14:35:18
【问题描述】:
我正在尝试使用 HtmlUnit 浏览一个网站。
本网站根据 JavaScript 事件更改某些按钮/使某些元素可见/隐藏。
我能给出的最简单的例子:有一个文本输入框和一个按钮,上面有一个防止它被点击的类。只要在框中写入文本,按钮就会变成可点击的。我正在设置输入文本框的值,但没有看到按钮上的更新。
为了让页面等待后台更新,我尝试了以下方法:
- 使用 NicelyResynchronizingAjaxController() 作为 Web 客户端的 ajax 控制器
- 在设置 ajax 控制器时覆盖 processSynchron() 以返回 true
- 让线程休眠几秒钟
- 在页面变量上同步并调用等待几秒钟
- 在 Web 客户端调用 waitForBackgroundJavaScript
- 在页面的封闭窗口的作业管理器没有更多 JavaScript 作业时循环
【问题讨论】:
-
请提供您的代码如何更新文本框以及如何检索页面内容
-
HtmlInput 表单; form.setValueAttribute("...");然后页面内容我尝试通过 button.click() 和初始对象检查页面。也许这就是问题所在,没有以正确的方式获取内容?有什么建议吗?
标签: javascript java ajax htmlunit