一、应用场景
在项目应用中有时需要将网页自动化截图保存下来,通过PhantomJS可以很方便的实现这样的功能。
二、实现代码
var webserver = require('webserver');
var server = webserver.create();
var service = server.listen(8999, function(request, response){
var page = require('webpage').create();
page.viewportSize = { width: 900, height: 500 };
page.clipRect = { top: 0, left: 0, width: 900, height: 500 };
console.log(request.url.substring(5));
page.open('http://127.0.0.1/' + request.url.substring(5), function (status) {
response.statusCode = 200;
response.headers = {
'Cache':'no-cache',
'Content-Type':'image/jpeg'
};
response.setEncoding('binary');
response.write(atob(page.renderBase64('jpg')));
response.close();
page.close();
});
});
将上述代码保存为screen-capture.js文件,然后执行以下命令:
./phantomjs screen-capture.js
打开浏览器输入地址:http://localhost:8999/wxbg/real/57679,浏览器中将看到返回的页面截图。
三、参考资料
https://cuiqingcai.com/2577.html