java +PhantomJS + rasterize.js 实现网页的截图(无需打开浏览器),亲测有效
利用java实现一个网页的滚动截图,实现中无需打开浏览器。基于phantomjs 和rasterize.js实现。
PhantomJS是一个基于webkit的javaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行javaScript代码。任何你可以基于在webkit浏览器做的事情,它都能做到。它不仅是个隐性的浏览器,提供了诸如css选择器、支持wen标准、DOM操作、json、HTML5等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。phantomJS的用处可谓非常广泛诸如网络监测、网页截屏、无需浏览器的wen测试、页面访问自动化等。
截图脚本:rasterize.js
所需环境:D:\phantomjs-2.1.1-windows\bin\phantomjs.exe
将rasterize.js也放在统计目录
可以通过cmd 测试所需环境是否有效。在你的制定目录是否有生成的图片
上代码:
项目基于Springboot开发
controller: