加载太久后如何停止WebEngine?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加载太久后如何停止WebEngine?相关的知识,希望对你有一定的参考价值。

我目前正在创建一个自动机器人进入某个网站并执行重复性任务。我正在使用JavaFX和WebEngine来做到这一点。问题是,这个网页有时需要很长时间才能加载,我不一定需要它来完全加载。

我正在使用WebEngine的监听器,因此在加载完成后它将继续执行它的任务,但就像我说这是一个问题,有时需要几分钟才能加载。

所以我的问题是,有一些方法可以在一段时间后停止加载,以便听众告诉我的程序加载完成了吗?这是我的倾听者:

webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
    @Override
    public void changed(ObservableValue<? extends Worker.State> observableValue, 
            Worker.State oldState, Worker.State newState) {

        if (newState == Worker.State.SUCCEEDED) {
            loaded = true;
            System.out.println("true");
            start();
        }
    }
});
答案

您可以设置计时器,即在1分钟后停止加载页面

Timer timer = new Timer();

timer.schedule(new TimerTask() {
  @Override
  public void run() {
    // Stop loading page
  }
}, 60*1000);

以上是关于加载太久后如何停止WebEngine?的主要内容,如果未能解决你的问题,请参考以下文章

在 WebView 完全加载后执行任务

QT WebEngine 和 JavaScript 无法加载 .PNG 图像

Qt WebEngine 失败

恢复片段后android地图停止响应

尝试将本地页面加载到 JavaFX webEngine

如何使用 ViewPager 显示相同的片段,但每次加载不同的数据?