我设置了 PhantomJS 并将其录制成视频: https://www.dailymotion.com/video/xnizmh_1_webcam
构建说明: http://phantomjs.org/build.html
我的设置有什么问题吗?
设置好之后,我读取了 快速入门教程并尝试编写这段代码
phantomjs hello.js
它给我“命令未找到”错误。我该如何解决这个问题?
下面是我使用的构建步骤 (注意,这些说明是针对版本1.3的。有关最新的 PhantomJS 的安装说明,请参阅此答案的注释) :
sudo apt-get update sudo apt-get install git-core sudo apt-get install build-essential sudo apt-get install libqt4-dev libqtwebkit-dev qt4-qmake git clone git://github.com/ariya/phantomjs.git && cd phantomjs git checkout 1.3 qmake-qt4 && make
现在安装 Xvfb
sudo apt-get install xvfb xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
推出 Xvfb: Xvfb :23 -screen 0 1024x768x24 &
Xvfb :23 -screen 0 1024x768x24 &
现在运行幻影: DISPLAY=:23 ./phantomjs hello.js
DISPLAY=:23 ./phantomjs hello.js
对于1.5以上的 PhantomJS 版本,请考虑以下内容(幽灵网站上构建说明的逐字副本) :
Ubuntu Linux (在 Ubuntu 10.04 Lucid 的基本安装上测试 Lynx and Ubuntu 11.04 Natty Narwhal) : sudo apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.7 ./build.sh
Ubuntu Linux (在 Ubuntu 10.04 Lucid 的基本安装上测试 Lynx and Ubuntu 11.04 Natty Narwhal) :
sudo apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.7 ./build.sh
对于 Ubuntu,你可以使用预先构建的版本 可从 PhantomJS 站点下载。
如果你有一些严重的时间在你的手中,你也可以 你自己造吧。(这正是 Nikhil 答案中的步骤)。
PhantomJS 的工作人员建议使用二进制文件来节省时间:
警告: 从源代码编译 PhantomJS 需要很长时间,主要是由于 WebKit 模块中有数千个文件。在现代机器上有4个并行编译作业,整个过程大约需要30分钟。强烈建议下载并安装现成的二进制包(如果有的话)。
对于一台现代机器,我认为他们的意思是 > 4核,> 8GB 内存。我在一个微型 AWS 实例上试用了一下,两个小时后就放弃了。
简而言之: 根据说明从 PhantomJS 站点安装预构建的软件包。
从软件包管理器安装:
sudo apt-get install phantomjs
从 phantomjs 网站下载预制软件包: Http://phantomjs.org/download.html 然后打开终端,进入下载文件夹
sudo mv phantomjs-1.8.1-linux-x86_64.tar.bz2 /usr/local/share/. cd /usr/local/share/ sudo tar xjf phantomjs-1.8.1-linux-x86_64.tar.bz2 sudo ln -s /usr/local/share/phantomjs-1.8.1-linux-x86_64 /usr/local/share/phantomjs sudo ln -s /usr/local/share/phantomjs/bin/phantomjs /usr/local/bin/phantomjs
然后检查安装 phantomjs -v应返回 1.8.1
phantomjs -v
1.8.1
圭多的回答让我找到了正确的方向。我必须添加一个额外的符号链接到/usr/bin/,并且我为所有3个都做了直接的符号链接-见下文。
我正在安装 Ubuntu 服务器 Natty Narwhal。
我就是这么做的。
cd /usr/local/share sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2 sudo tar xjf phantomjs-1.9.7-linux-x86_64.tar.bz2 sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/share/phantomjs sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/bin/phantomjs
最后当我找到的时候
我得到1.9
如果有人发现我的行为有任何问题,请告诉我。
来自官方网站: 幽灵网站
sudo apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.8 ./build.sh
我受够了。
sudo apt-get update sudo apt-get install build-essential chrpath git-core libssl-dev libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.9 ./build.sh
对于 Ubuntu,从 http://phantomjs.org/download.html.CD 下载合适的文件到下载的文件夹,然后:
sudo tar xvf phantomjs-1.9.0-linux-x86_64.tar.bz2 sudo mv phantomjs-1.9.0-linux-x86_64 /usr/local/share/phantomjs sudo ln -s /usr/local/share/phantomjs/bin/phantomjs /usr/bin/phantomjs
确保用下载的文件替换这些命令中的文件名。
或者最新的32位版本的 Linux
sudo wget http://phantomjs.googlecode.com/files/phantomjs-1.9.2-linux-i686.tar.bz2 sudo ln -s /usr/local/share/phantomjs-1.9.2-linux-i686/bin/phantomjs /usr/local/share/phantomjs sudo ln -s /usr/local/share/phantomjs-1.9.2-linux-i686/bin/phantomjs /usr/local/bin/phantomjs sudo ln -s /usr/local/share/phantomjs-1.9.2-linux-i686/bin/phantomjs /usr/bin/phantomjs
请注意,这绝对是一种方法:
$ sudo apt-get install phantomjs $ phantomjs -v 1.6.0
遗憾的是,它安装了1.6版本,而不是最新版本,但这个版本很适合我。
在我流浪的鞋带里:
apt-get install -y build-essential chrpath git-core libssl-dev libfontconfig1-dev git clone git://github.com/ariya/phantomjs.git cd phantomjs git checkout 1.9 echo y | ./build.sh ln -s /home/vagrant/phantomjs/bin/phantomjs /usr/local/bin/phantomjs cd ..
PhantomJS 在 Npm上。您可以运行以下命令在全局范围内安装它:
npm install -g phantomjs-prebuilt
phantomjs -v应该返回 2.1.1
2.1.1
就个人而言,我更喜欢使用 npm(见 Arnel Bucio 回答)
npm
sudo npm install -g phantomjs
但是! 我注意到一些 npm模块仍然不能将其视为全局可执行文件。
那么!
创建新的 /usr/share/phantomjs/目录链接
/usr/share/phantomjs/
cd /usr/share sudo ln -s ../lib/node_modules/phantomjs/lib/phantom phantomjs
Remove old /usr/bin/phantomjs executable link and create the new one
/usr/bin/phantomjs
cd /usr/bin sudo mv phantomjs phantomjs.old sudo ln -s ../share/phantomjs .
安装和调用 Phantomjs
按照这些步骤不起作用,但是可以从构建的其他程序中克隆
下面的安装程序由胡里奥纳普里 https://gist.github.com/julionc
版本: 1.9.8
平台: x86 _ 64
首先,安装或更新最新的系统软件。
sudo apt-get update sudo apt-get install build-essential chrpath libssl-dev libxft-dev
安装 PhantomJS 需要的这些包才能正常工作。
sudo apt-get install libfreetype6 libfreetype6-dev sudo apt-get install libfontconfig1 libfontconfig1-dev
从 PhantomJS 网站上下载。
cd ~ export PHANTOM_JS="phantomjs-1.9.8-linux-x86_64" wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2 sudo tar xvjf $PHANTOM_JS.tar.bz2
下载后,将 Phantomjs 文件夹移动到/usr/local/share/并创建一个符号链接:
sudo mv $PHANTOM_JS /usr/local/share sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin
现在,它应该在你的系统上正确地安装了 PhantomJS。
phantomjs --version
我已经找到了这个简单的方法-幻影依赖 + Npm
sudo apt-get update sudo apt-get install build-essential chrpath libssl-dev libxft-dev sudo apt-get install libfreetype6 libfreetype6-dev sudo apt-get install libfontconfig1 libfontconfig1-dev
和 npm
[sudo] npm install -g phantomjs
成交。
在 linux 上运行 hello.js 不要忘记添加 hello.js 的路径:
Phantomjs YourPathToPhantomjsFolder/example/hello.js
如果你想简单地使用 phantomjs,你可以在 phantomjscloud.com 上使用它 只需通过 http 请求就可以得到结果。
我知道这个问题太老了,但是,如果有人现在从 Google 得到这个问题,你可以通过输入 apt-get install phantomjs 来安装它
看链接 安装指南在..。
Https://gist.github.com/julionc/7476620
并使用此命令在终端中运行
Phantomjs —— webDriver = 4444
在 Ubuntu for Windows 上,我发现 apt-get和 npm版本都不适合我。真正起作用的是 此评论的脚本。
apt-get
为了便于使用,我将整个过程粘贴到一个名为 install_phantomjs.sh的脚本文件中,使其成为可执行文件(chmod u+x install_phantomjs.sh) ,然后运行它(./install_phantomjs.sh)
install_phantomjs.sh
chmod u+x install_phantomjs.sh
./install_phantomjs.sh
这就是我如何将特定版本的 phantomjs 放在/usr/local/bin 中的 docker 容器上的方法。
curl -Ls https://github.com/Medium/phantomjs/releases/download/v1.9.19/phantomjs-1.9.8-linux-x86_64.tar.bz2 \ | tar jxvf - --strip-components=2 -C /usr/local/bin/ ./phantomjs-1.9.8-linux-x86_64/bin/phantomjs
或者没有 ./取决于操作系统。
./
curl -Ls https://github.com/Medium/phantomjs/releases/download/v1.9.19/phantomjs-1.9.8-linux-x86_64.tar.bz2 \ | tar jxvf - --strip-components=2 -C /usr/local/bin/ phantomjs-1.9.8-linux-x86_64/bin/phantomjs
你可以在没有 sudo或者 npm的情况下启动和运行,只需要 下载、 提取物和 添加到路径。
sudo
如果你有备份整个主文件夹的习惯,这就是 简单的备份的额外优势,我强烈推荐你这样做。这也适用于任何版本的 Linux。
➤ cd ~ ➤ wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 ➤ mkdir phantomjs ➤ tar xjf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C phantomjs ➤ echo 'export PATH="$PATH:$HOME/phantomjs/bin"' >> .profile ➤ source .profile ➤ phantomjs -v 2.1.1
缺点是:
您可以使用一个非常简单的 shell 脚本进行安装/升级
#!/bin/sh # install_phantomjs.sh $VERSION $VERSION = $1 printf "Downloading PhantomJS $VERSION...\n" wget "https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-$VERSION-linux-x86_64.tar.bz2" printf "Extracting PhantomJS $VERSION to ~/phantomjs...\n" mkdir ~/phantomjs tar xjf phantomjs-$VERSION-linux-x86_64.tar.bz2 -C ~/phantomjs printf "Done! Make sure $HOME/phantomjs/bin is in your path.\n"
或者在 Dockerfile 里
# Download and setup PhantomJS ENV PHANTOMJS_VERSION 2.1.1 RUN curl -fSL "https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-$PHANTOMJS_VERSION-linux-x86_64.tar.bz2" -o /tmp/phantomjs.tar.bz2 && \ mkdir ~/phantomjs && \ tar xjf /tmp/phantomjs.tar.bz2 -C ~/phantomjs && \ rm /tmp/phantomjs.tar.bz2 ENV PATH /home/$USERNAME/phantomjs/bin:$PATH
我是这么做的 在我的 Ubuntu 16.04机器上
sudo apt-get update sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 sudo mv path/where/you/downloaded/phantomjs /usr/bin
我得到 2.1.1
在看完这个帖子的每一个答案之后。我认为这是在 ubuntu 中安装和运行 phantomjs 的最佳解决方案。