2

我正在开展一个项目,该项目涉及访问网页、输入搜索词以及检索有关该搜索词的信息。输入搜索词会导致重定向,因此我调用了

webClient.waitForBackgroundJavascript();

这个想法是,一旦所有 javascript 重定向完成,这将返回 0。但是,它似乎一直卡在返回 6 上。单独运行一次它卡在 10 上。什么原因可能导致无法完成?到目前为止,我已经等了大约 10 分钟,网页在普通浏览器中几乎是瞬间加载的。

4

1 回答 1

0

您是否尝试过将 long 值作为参数传递给该函数?我假设您有,但以防万一,传递给此方法的 long 值会在返回仍在进行中的 javascript 后台作业的数量之前等待该时间量(以 milis 为单位)。因此,如果您要这样做:

webClient.waitForBackgroundJavascript(10000);

这意味着十秒钟后您将恢复仍在进行中的后台作业的数量。如果它停留在某个返回值,则意味着有已启动的后台进程尚未在指定时间内完成。

检查以确保您没有setInterval()在 javascript 代码中的函数上循环任何内容。

也供参考:HTMLUnit Docs

于 2013-11-19T19:16:30.847 回答