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

Я разрабатываю бота на 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
            );

Спасибо за вашу помощь, и если вы не знаете, как ее решить, я открыт для любого другого решения этой задачи.


person Simon30    schedule 10.04.2017    source источник


Ответы (1)


Спасибо большое за помощь, ребята !!! -_-

Наконец, я решил эту проблему, используя Selenium вместо JavaFX WebEngine. Это немного медленнее, но загрузка и рендеринг js управляются автоматически при загрузке веб-страницы с помощью HtmlUnit.

Мир

person Simon30    schedule 11.04.2017