繁体   English   中英

定期加载网页

[英]Periodic web pages loading

我正在用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
            );

感谢您的帮助,如果您不知道如何解决该问题,我们欢迎您采取其他解决方案。

非常感谢您的帮助! -_-

最后,我通过使用Selenium而不是JavaFX WebEngine解决了该问题。 这有点慢,但是在使用HtmlUnit加载网页时,js的加载和渲染会自动进行管理。

和平

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM