2017-04-10 43 views
0

我正在开发一个在Java中的机器人,我需要它定期加载一个网页及其所有的JavaScript计算。为此,我使用ScheduledExecutorService和JavaFX WebEngine。我的预定服务工作得很好,它已经测试过日志,但是一旦我用WebEngine添加页面加载,它突然停止预定的服务...定期的网页加载

在服务之前,我使用不同的WebEngine对象来获取在其中使用的网址。该代码打印我“执行!”一次,停止。

ScheduledExecutorService updateService = Executors.newScheduledThreadPool(5); 
    WebEngine engine = this.updateEngine; 

    ScheduledFuture scheduledFuture = 
      updateService.scheduleWithFixedDelay(new Runnable(){ 
       @Override 
       public void run() { 
        System.out.println("Executed!"); 
        Maj job = jobsCycle.getNextMaj(); 


        engine.load(job.getURL()); 

       } 
      }, 
      0, 
      5, 
      TimeUnit.SECONDS 
      ); 

谢谢您的帮助,如果你不:但如果我删除与该行“engine.load(...”它打印每5秒

这里是为我服务的代码执行“知道如何解决这个问题,我愿意接受该任务的任何其他解决方案。

回答

0

非常感谢你的帮助家伙!-_-

最后我用硒,而不是解决了这个问题JavaFX WebEngine。这是慢一点,但js加载和渲染是自动管理的当使用HtmlUnit加载网页时。

和平