Nodejs Casperjs 的安装问题

Nodejs Casperjs 的安装问题

按官方教程安装了casperjs,但在使用时提示模块不存在:

********\phantomjs>phantomjs app.js
Error: Cannot find module 'casper'

app.js 中的代码如下:

var casper = require('casper');

哪位大侠知道这是什么回事。

安装 casperjs 过程如下: 从官方下载 并把文件放在 C:\node\casperjs 目录中,并配置Path环境变量 C:\node\casperjs\bin;


7 回复

Nodejs Casperjs 的安装问题

问题描述

我在安装和使用 CasperJS 时遇到了一个错误,提示模块不存在。具体来说,在运行 phantomjs app.js 命令时,出现了以下错误信息:

********\phantomjs>phantomjs app.js
Error: Cannot find module 'casper'

我的 app.js 文件中的代码如下:

var casper = require('casper');

安装过程

我按照官方教程进行了安装,并将 CasperJS 文件放在 C:\node\casperjs 目录中,并配置了 Path 环境变量 C:\node\casperjs\bin;

解决方案

遇到这个问题的主要原因可能是没有正确安装 CasperJS 或者没有正确引用模块。以下是详细的解决步骤:

  1. 确认安装 首先,确保你已经正确安装了 CasperJS。你可以通过 npm(Node Package Manager)来安装它,而不是手动下载。打开命令行工具并执行以下命令:

    npm install casperjs --global
    
  2. 检查路径 确认你的 PATH 环境变量是否正确包含 CasperJS 的路径。通常情况下,全局安装的包会安装在 C:\Users\<YourUsername>\AppData\Roaming\npm 目录下。

  3. 引用模块app.js 文件中,你需要正确引用 CasperJS 模块。正确的引用方式如下:

    var casper = require('casper').create();
    

    注意,require 函数需要传入 'casper' 而不是 'casperjs',因为 casperjs 是一个包名,而 casper 是实际暴露的模块名。

  4. 测试安装 为了验证安装是否成功,可以创建一个简单的测试脚本 test.js,内容如下:

    var casper = require('casper').create();
    
    casper.start('http://example.com', function() {
        this.echo(this.getTitle());
    });
    
    casper.run();
    

    然后在命令行中运行:

    phantomjs test.js
    

    如果一切正常,你应该能看到 example.com 页面的标题输出。

通过以上步骤,你应该能够解决 Cannot find module 'casper' 的问题。希望这对你有所帮助!


我的系统是windows 8的

官方给的教程如下:

CasperJS on Windows Phantomjs installation additions

Append ;C:\phantomjs to your PATH environment variable. Modify this path appropriately if you installed PhantomJS to a different location.

Casperjs installation additions

New in version 1.1-beta3.

Append ;C:\casperjs\bin to your PATH environment variable. Modify this path appropriately if you installed CasperJS to a different location.

You can now run any regular casper scripts that way:

C:> casperjs myscript.js

Colorized output

Note

New in version 1.1-beta1.

Windows users will get colorized output if ansicon is installed.

哪位大湿知道这早什么情况

有人知道吗

有谁知道

根据你的描述,问题可能出在安装和配置CasperJS的方式上。CasperJS需要PhantomJS作为其底层引擎来运行脚本。以下是正确的安装步骤:

安装PhantomJS

首先确保你已经正确安装了PhantomJS。你可以通过npm(Node Package Manager)全局安装PhantomJS。

npm install -g phantomjs-prebuilt

安装CasperJS

接着,你可以通过npm全局安装CasperJS。

npm install -g casperjs

验证安装

安装完成后,可以通过以下命令验证是否正确安装了PhantomJS和CasperJS:

phantomjs --version
casperjs --version

示例 app.js 文件

接下来,你可以编写一个简单的app.js文件来测试CasperJS是否能正常工作。例如:

var casper = require('casper').create();

casper.start('http://example.com', function() {
    this.echo(this.getTitle());
});

casper.run();

运行脚本

确保你的命令行路径包含了PhantomJS和CasperJS的可执行文件路径。然后运行你的脚本:

casperjs app.js

如果一切配置正确,你应该能看到页面的标题被打印出来。

如果你仍然遇到“Cannot find module ‘casper’”的错误,可能是由于Node.js无法找到正确的模块路径。建议检查你的Node.js环境变量是否正确配置,或者尝试在项目目录中本地安装CasperJS:

npm install casperjs --save-dev

然后在app.js中使用相对路径导入CasperJS:

var casper = require('./node_modules/casperjs/lib/casper').create();

这样应该可以解决你的问题。希望这些建议对你有所帮助!

回到顶部