Периодическая загрузка веб-страниц
Я занимаюсь разработкой бота на Java, и мне нужно, чтобы он периодически загружал веб-страницу со всеми ее javascript-кодами. Для этого я использую ScheduledExecutorService и JavaFX WebEngine. Мой запланированный сервис работает очень хорошо, он был протестирован с журналами, но как только я добавляю загрузку страницы с помощью 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
);
Спасибо за вашу помощь, и если вы не знаете, как ее решить, я открыт для любого другого решения этой задачи.
1 ответ
Большое спасибо за вашу помощь, ребята! -_-
Наконец, я решил эту проблему, используя Selenium вместо JavaFX WebEngine. Это немного медленнее, но загрузка и рендеринг js выполняется автоматически при загрузке веб-страницы с помощью HtmlUnit.
мир