安装phantomjs但phantomjs将html转为png失败
apt-get安装phantomjs
sudo apt update
sudo apt install -y build-essential chrpath libssl-dev libxft-dev
sudo apt install -y libfreetype6 libfreetype6-dev libfontconfig1 libfontconfig1-dev sudo apt install phantomjs
安装二进制编译包
理论上对linux系统不应该有依赖,最初是在debain 10系统上安装phantomjs,无论上直接apt-get包管理安装还是直接安装编译后的二进制代码包,都提示
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Could not connect to any X display.
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.
首先 vim ~/.bashrc 然后把下面的这句话加进去,第一行就可以 export QT_QPA_PLATFORM='offscreen' 运行如下命令使配置生效 source ~/.bashrc
linux安装编译后的版本
wget bitbucket.org/ariya/phant… tar xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2 cd phantomjs-2.1.1-linux-x86_64 bin/phantomjs -v bin/phantomjs example/hello.js ln -sf /home/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs phantomjs -v
qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题
debain 10系统安装编译后的二进制版本依然报错,一直提示QT Platform只支持phantom插件,无法配置offscreen, 最终在ubuntu 20系统上成功安装编译后的二进制版本
中文乱码
用phantomjs去截取中文页面的网站可能会出现乱码的情况,也就是截图中中文的位置全是方框。
解决办法就是安装字体。
在centos中执行:yum install bitmap-fonts bitmap-fonts-cjk
在ubuntu中执行:sudo apt-get install xfonts-wqy
这样再去截图中文的页面就不会出现一堆的方框了。
参考链接
Phantomjs 2 does not build on debian 6
使用phantomjs将pyecharts生成的html渲染為png
How to install PhantomJS on Ubuntu
Phantomjs 2 does not build on debian 6
Doesn't work on Debian Buster (10.3) and Fedora v34 - to fix in next release