我正在开展一个项目,该项目涉及访问网页、输入搜索词以及检索有关该搜索词的信息。输入搜索词会导致重定向,因此我调用了
webClient.waitForBackgroundJavascript();
这个想法是,一旦所有 javascript 重定向完成,这将返回 0。但是,它似乎一直卡在返回 6 上。单独运行一次它卡在 10 上。什么原因可能导致无法完成?到目前为止,我已经等了大约 10 分钟,网页在普通浏览器中几乎是瞬间加载的。
我正在开展一个项目,该项目涉及访问网页、输入搜索词以及检索有关该搜索词的信息。输入搜索词会导致重定向,因此我调用了
webClient.waitForBackgroundJavascript();
这个想法是,一旦所有 javascript 重定向完成,这将返回 0。但是,它似乎一直卡在返回 6 上。单独运行一次它卡在 10 上。什么原因可能导致无法完成?到目前为止,我已经等了大约 10 分钟,网页在普通浏览器中几乎是瞬间加载的。
您是否尝试过将 long 值作为参数传递给该函数?我假设您有,但以防万一,传递给此方法的 long 值会在返回仍在进行中的 javascript 后台作业的数量之前等待该时间量(以 milis 为单位)。因此,如果您要这样做:
webClient.waitForBackgroundJavascript(10000);
这意味着十秒钟后您将恢复仍在进行中的后台作业的数量。如果它停留在某个返回值,则意味着有已启动的后台进程尚未在指定时间内完成。
检查以确保您没有setInterval()
在 javascript 代码中的函数上循环任何内容。
也供参考:HTMLUnit Docs