Path casperjs没有找到幻影

Path casperjs没有找到幻影,path,phantomjs,casperjs,Path,Phantomjs,Casperjs,我已经下载了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$ caspe

我已经下载了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

phantomjs-1.9.2/解决方案实际上非常简单。只需导出phantomjs二进制文件所在的路径。在我的例子中,这是/Users/Tom/Downloads/phantomjs-1.9.2/bin,因此

export PATH=$PATH:/Users/Tom/Downloads/phantomjs-1.9.2/bin

在osx上全局安装带有npm的casper时也面临同样的问题。 首先,我将环境变量PHANTOMJS_EXECUTABLE设置为安装PHANTOMJS的路径(通常是/usr/local/lib/node_modules/casperjs/node_modules/PHANTOMJS/lib/PHANTOMJS/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
希望这能帮助某人:)

对于OS X:

brew安装casperjs--devel

brew安装phantomjs

而且它将适用于Windows解决方案

步骤1-转到环境变量

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


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

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

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


第3步-测试您的工作

打开CMD->Type“phantomjs-v”


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

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

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


其中路径
/usr/local/bin/phantomjs
是安装phantomjs的路径。例如,您可以在终端中键入
哪个phantomjs

我遇到了这个问题。在两台不同的windows计算机上进行了尝试

已从node_模块文件夹和AppData/Roaming中删除所有npm安装版本

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

已下载幻影并从中提取到程序文件文件夹

已下载casper并从中解压缩到程序文件文件夹

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

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


我没有像其他一些帖子提到的那样设置PHANTOMJS_可执行文件。不确定这是否会产生影响,但在osx上全局安装带有npm的casperjs后,在Windows 10上使用Phantom 2.1.1和casper 1.1.0执行上述步骤时,100%的人都面临同样的问题。解决办法其实很简单。要将casperjs与phantomjs连接起来,必须在脚本顶部包含这些行

phantom.casperPath = "/path_to/casperjs/";
phantom.injectJs(phantom.casperPath + "/bin/bootstrap.js");

也可以设置环境变量,而不是修改路径
PHANTOMJS_EXECUTABLE=/Users/Tom/Downloads/PHANTOMJS-1.9.2/bin/PHANTOMJS
那么我如何使用这个evnriontemtnal变量呢?你需要PATH和PHANTOMJS_EXECUTABLE(正如@Brian提到的)来实现这个功能。那么我该如何使用这个变量呢?这个PHANTOMJS_可执行-我如何使用它?@ERJAN您只需要在控制台中设置locate PHANTOMJS binary,然后将其设置为PHANTOMJS_可执行文件。然后,casper将使用它来定位phantom并正常工作。对于尝试将CasperJS与slimerjs(而不是phantomjs)结合使用的人来说:我已经让它运行了,就像上面所说的,通过设置一个等效的环境变量
SLIMERJS_EXECUTABLE=/path/to/SLIMERJS
,但我还必须将
--engine=SLIMERJS
作为参数传递给casperjs可执行文件。
--devel
标志似乎不起作用,但除此之外,它在高负载下工作
phantom.casperPath = "/path_to/casperjs/";
phantom.injectJs(phantom.casperPath + "/bin/bootstrap.js");