加载太久后如何停止WebEngine?

时间:2014-05-18 21:14:14

标签: java web javafx javafx-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 个答案:

答案 0 :(得分:0)

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

Timer timer = new Timer();

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