安装无头浏览器
apt install phantomjs
模拟窗口终端
运行phantomjs报错
QXcbConnection: Could not connect to display
PhantomJS has crashed. Please read the bug reporting guide at
<http://phantomjs.org/bug-reporting.html> and file a bug report.
Aborted
因为无头浏览器需要窗口渲染,使用QT_QPA_PLATFORM=offscreen
虽然可以,但是却会无法渲染字体。
所以需要安装xvfb,使用xvfb-run来运行phantomjs
apt install xvfb
安装/上传字体
mkdir /usr/share/fonts/xpfonts
然后用scp把windows的字体上传上去
simfang.ttf 仿宋体
simhei.ttf 黑体
simkai.ttf 楷体
simsun.ttf 宋体和新宋体,原文件名simsun.ttc
tahoma.ttf tahoma字体
tahomabd.ttf tahoma字体的粗体形式
verdana.ttf verdana字体
verdanab.ttf verdana字体的粗体形式
verdanai.ttf verdana字体的斜体形式
verdanaz.ttf verdana字体的粗体+斜体形式
我只传了前5个。就可以显示中文了。
更新字体缓存
cd xpfonts
mkfontscale
mkfontdir
fc-cache
截图
新建一个snapshot.js文件,内容为
var page = require('webpage').create(),
system = require('system'),
address, filename;
if (system.args.length !== 3) {
console.log('Usage: loadspeed.js <some URL> <Filename>');
phantom.exit();
}
address = system.args[1];
filename = system.args[2];
page.open(address, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
window.setTimeout(function () {
page.render(filename);
phantom.exit();
}, 200);
}
});
大功告成,运行xvfb-run phantomjs snapshot.js http://www.baidu.com baidu1.jpg
然后查看效果即可