我已经下载了最新版本的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
为什么不起作用?
答案 0 :(得分:22)
解决方案实际上非常简单。只需导出phantomjs的二进制文件所在的路径。在我的例子中,这是/Users/Tom/Downloads/phantomjs-1.9.2/bin,因此
export PATH=$PATH:/Users/Tom/Downloads/phantomjs-1.9.2/bin
答案 1 :(得分:17)
在osx上全局安装带有npm的casper时遇到同样的问题。 首先,我将环境变量PHANTOMJS_EXECUTABLE设置为安装了phantomjs的路径(它通常是/ usr / local / lib / node_modules / casperjs / node_modules / phantomjs / lib / phantom / bin / phantomjs phantomjs) / p>
export PHANTOMJS_EXECUTABLE=/usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs phantomjs
这只是部分帮助,因为我仍然遇到错误,例如没有文件或文件夹/ usr / local / bin / phantomjs,所以我只是创建了符号链接并将其指向真正的二进制文件夹< / p>
ln -s /usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs /usr/local/bin/phantomjs
希望这会有所帮助:)
答案 2 :(得分:5)
对于OS X:
brew install casperjs --devel
brew install phantomjs
它会起作用
答案 3 :(得分:3)
如果您在PHP中收到此错误,请将其放在您的exec上方:
<?php
putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
?>
路径/usr/local/bin/phantomjs
是phantomjs安装的路径。例如,您可以通过在终端中键入which phantomjs
来获得此功能。
答案 4 :(得分:0)
第1步 - 转到环境变量
开始 - &gt;环境变量 - &gt;环境变量 要么 我的电脑 - &gt;属性 - &gt;高级系统设置 - &gt;环境变量
第2步 - 将新PATH设置为PhantomJS / bin文件夹
选择路径(用户或系统) - &gt;修改
新 - &gt;浏览 - &gt;在你的硬盘上找到PhantomJS安装中的BIN文件夹 接受
第3步 - 测试您的工作
打开CMD - &gt;输入&#34; phantomjs -v&#34;
您应该在树中的任何文件夹中获取phantomJS版本号作为答案。
答案 5 :(得分:0)
我遇到了这个问题。在2种不同的Windows计算机上尝试过。
从node_modules文件夹和AppData / Roaming中删除所有npm安装的版本。...
从c:/最初安装的地方删除了幻影和卡斯珀。
下载了幻像并从https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-windows.zip提取到Program Files文件夹
已下载Casper,并从https://github.com/casperjs/casperjs/zipball/1.1.0提取到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上使用上述步骤
答案 6 :(得分:0)
在osx上全局安装带有npm的casperjs后,遇到了同样的问题。解决方案实际上非常简单。您必须在脚本顶部包含以下几行,才能将casperjs与phantomjs连接起来。
phantom.casperPath = "/path_to/casperjs/";
phantom.injectJs(phantom.casperPath + "/bin/bootstrap.js");