PhantomJS屏幕截图不显示文本

PhantomJS屏幕截图不显示文本,phantomjs,screenshot,text-rendering,Phantomjs,Screenshot,Text Rendering,我正在使用PhantomJS通过Codeception运行一些自动化测试。当我生成一个屏幕截图时,页面会显示,但是没有一个文本会显示,就像下面的示例一样 下面是我用来安装phantomjs的脚本。我使用的是CentOS 7.1 echo "## Install phantomjs dependencies" sudo yum install freetype-devel fontconfig-devel libicu-devel gcc glib libpng-devel bison sqli

我正在使用PhantomJS通过Codeception运行一些自动化测试。当我生成一个屏幕截图时,页面会显示,但是没有一个文本会显示,就像下面的示例一样

下面是我用来安装phantomjs的脚本。我使用的是CentOS 7.1

echo "## Install phantomjs dependencies"
sudo yum install freetype-devel fontconfig-devel libicu-devel gcc glib libpng-devel bison sqlite-devel gperf flex libjpeg-devel  -y

echo "## Install phantomjs"
cd ~
PHANTOM_JS="phantomjs-2.1.1-linux-x86_64"
wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2
sudo mv $PHANTOM_JS.tar.bz2 /usr/local/share/
cd /usr/local/share/
sudo tar xvjf $PHANTOM_JS.tar.bz2
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/share/phantomjs
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin/phantomjs
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/bin/phantomjs
sudo rm -fr $PHANTOM_JS.tar.bz2
phantomjs -v

我最初的想法是我缺少一个字体库,但从我在网站上看到的内容来看,我应该拥有所有的软件包。

因此,看起来我的版本实际上没有安装任何字体。在我的PhantomJS安装脚本中添加以下几行代码,为系统添加了一些字体,屏幕截图按预期工作

sudo yum install cabextract xorg-x11-font-utils -y
sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

如果安装字体后在屏幕截图中看不到文本,请确保使用了正确的用户代理,告诉您的计算机运行的操作系统是什么。 例如:

-用这个我看不见文本

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36 
-用这个我看到了文本

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36 

我使用的是Linux CentOS。

当我安装了一些字体,只有输入中的文本没有出现时,情况有点紧张。无论如何
yum安装解放mono字体解放sans字体解放serif字体
为我修复了它。