24

我已经下载了最新版本的 casperjs (1.03) 和 phantomjs (1.9.2)。

所以我从 casper 页面中获取了这个简单的小脚本:

var casper = require('casper').create({
    verbose: true,
    logLevel: "debug"
});
var casper = new require('casper').Casper();

当我尝试运行它时,出现以下错误:

noname:phantomjs-1.9.2 Tom$ casperjs/bin/casperjs tipico2.js 
Fatal: [Errno 2] No such file or directory; did you install phantomjs?

所以,这是我的目录结构:

phantomjs-1.9.2/ <-- the folder containing phantomjs
phantomjs-1.9.2/casperjs/ <-- a subfolder containting casperjs

为什么它不起作用?

4

7 回答 7

23

解决方案其实很简单。只需导出phantomjs的二进制文件所在的路径即可。在我的情况下,这是 /Users/Tom/Downloads/phantomjs-1.9.2/bin,因此

export PATH=$PATH:/Users/Tom/Downloads/phantomjs-1.9.2/bin
于 2013-10-20T12:06:12.433 回答
17

在 osx 上全局安装带有 npm 的 casper 时遇到了同样的问题。起初,我将环境变量 PHANTOMJS_EXECUTABLE 设置为安装 phantomjs 的路径(通常是 /usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs phantomjs)

export PHANTOMJS_EXECUTABLE=/usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs phantomjs

这只是部分帮助,因为我仍然遇到错误,例如没有文件或文件夹 /usr/local/bin/phantomjs,所以我刚刚创建了符号链接并将其指向真正的二进制文件夹

ln -s /usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs /usr/local/bin/phantomjs

希望这会对某人有所帮助:)

于 2015-07-01T17:42:01.870 回答
5

对于 OS X:

brew install casperjs --devel

brew install phantomjs

它会起作用

于 2016-03-14T13:52:24.013 回答
3

如果您在 PHP 中遇到此错误,请将其放在您的 exec 上方:

<?php
    putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
?>

其中 path/usr/local/bin/phantomjs是 phantomjs 安装的路径。例如,您可以通过which phantomjs在终端中输入来获取此信息。

于 2018-06-10T09:02:51.490 回答
0

Windows 解决方案

第 1 步 - 转到环境变量

开始 -> 环境变量 -> 环境变量或我的电脑 -> 属性 -> 高级系统设置 -> 环境变量


第 2 步 - 为您的 PhantomJS/bin 文件夹设置新路径

选择 PATH(用户或系统)-> 编辑

新建 -> 浏览 -> 在硬盘上的 PhantomJS 安装中找到您的 BIN 文件夹接受


第 3 步 - 测试您的工作

打开 CMD -> 输入“phantomjs -v”

您应该在树中的任何文件夹中获得 phantomJS 版本号作为答案。

于 2017-12-10T09:05:33.660 回答
0

我有这个问题。在 2 台不同的 windows 机器上试过。

从 node_modules 文件夹和 AppData / Roaming...中删除了所有 npm 安装版本。

从最初安装的 c:/ 中删除了 phantom 和 casper。

从https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-windows.zip下载幻象并解压缩到 Program Files 文件夹

从https://github.com/casperjs/casperjs/zipball/1.1.0下载 casper 并提取到 Program Files 文件夹

设置系统环境变量 C:\Program Files\phantomjs-2.1.1-windows\bin

设置系统环境变量 C:\Program Files\casperjs-casperjs-b5c59e1\bin

我没有像其他一些帖子提到的那样设置 PHANTOMJS_EXECUTABLE。不确定它是否会有所作为,但 100% 使用 Phantom 2.1.1 和 casper 1.1.0 在 Windows 10 上执行上述步骤

于 2018-11-13T10:44:22.417 回答
0

在 osx 上使用 npm 全局安装 casperjs 后面临同样的问题。解决方案其实很简单。您必须在脚本顶部包含这些行才能将 casperjs 与 phantomjs 连接起来。

phantom.casperPath = "/path_to/casperjs/";
phantom.injectJs(phantom.casperPath + "/bin/bootstrap.js");
于 2019-07-26T09:05:57.440 回答