Java 定期加载网页
我正在用java开发一个机器人,我需要它定期加载一个包含所有javascript计算的网页。为此,我使用ScheduledExecutorService和JavaFXWebEngine。我的定时服务运行得很好,已经用日志测试过了,但是一旦我用WebEngine添加页面加载,它会突然停止定时服务 在服务之前,我使用不同的WebEngine对象来获取其中使用的URL。那个代码打印我一次“已执行”,然后停止。但是如果我删除带有“engine.load(…”的行,它将每隔5秒打印一次执行的结果 以下是我的服务代码:Java 定期加载网页,java,javafx,scheduledexecutorservice,javafx-webengine,Java,Javafx,Scheduledexecutorservice,Javafx Webengine,我正在用java开发一个机器人,我需要它定期加载一个包含所有javascript计算的网页。为此,我使用ScheduledExecutorService和JavaFXWebEngine。我的定时服务运行得很好,已经用日志测试过了,但是一旦我用WebEngine添加页面加载,它会突然停止定时服务 在服务之前,我使用不同的WebEngine对象来获取其中使用的URL。那个代码打印我一次“已执行”,然后停止。但是如果我删除带有“engine.load(…”的行,它将每隔5秒打印一次执行的结果 以下是我
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
);
感谢您的帮助,如果您不知道如何解决,我愿意接受任何其他解决方案。非常感谢您的帮助-_- 最后,我通过使用Selenium而不是JavaFXWebEngine解决了这个问题。这稍微慢了一点,但是当加载带有HtmlUnit的网页时,js加载和呈现是自动管理的 和平