【问题标题】:PhantomJS screenshots not showing textPhantomJS 屏幕截图不显示文本
【发布时间】:2017-09-07 16:10:14
【问题描述】:

我正在使用 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 site 上看到的内容来看,我应该拥有所有的包。

【问题讨论】:

    标签: phantomjs screenshot text-rendering


    【解决方案1】:

    所以看起来我的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
    

    【讨论】:

    • 当我安装了一些字体并且只有输入中的文本没有出现时,这有点边缘情况。无论如何yum install liberation-mono-fonts liberation-sans-fonts liberation-serif-fonts为我修好了。
    【解决方案2】:

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

    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 CentOS。

    【讨论】:

      猜你喜欢
      • 2014-03-18
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多