Периодическая загрузка веб-страниц

Я занимаюсь разработкой бота на 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.

мир

Другие вопросы по тегам