PhantomJS 屏幕截图未显示文本
PhantomJS screenshots not showing text
我正在使用 PhantomJS 运行 通过 Codeception 进行一些自动化测试。但是,当我生成屏幕截图时,页面会显示,但文本的 none 会显示,如下例所示。
这是我用来安装 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 site 上可以阅读的内容,我应该拥有所有的包。
看来我的 CentOS 版本实际上没有安装任何字体。将以下行添加到我的 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
如果您在安装字体后看不到屏幕截图中的文本,请确保您使用的是正确的用户代理,该代理告诉您 OS 您的机器是什么 运行在。
例如:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.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 美分OS。
我正在使用 PhantomJS 运行 通过 Codeception 进行一些自动化测试。但是,当我生成屏幕截图时,页面会显示,但文本的 none 会显示,如下例所示。
这是我用来安装 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 site 上可以阅读的内容,我应该拥有所有的包。
看来我的 CentOS 版本实际上没有安装任何字体。将以下行添加到我的 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
如果您在安装字体后看不到屏幕截图中的文本,请确保您使用的是正确的用户代理,该代理告诉您 OS 您的机器是什么 运行在。 例如:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.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 美分OS。