【问题标题】:Use phantomjs and casperjs with a nodejs script?将 phantomjs 和 casperjs 与 nodejs 脚本一起使用?
【发布时间】:2014-06-12 00:00:46
【问题描述】:

我在 bins 文件夹中提取了 casperjs 和 phantomjs。

我想在我的 nodejs 应用程序中使用 casperjs。

这是我当前的脚本:

var exec = require('child_process'),
    path = require('path');

// Directory paths where I extracted phantomjs and casperjs.
var phantomjs = path.resolve(__dirname, 'bins', 'phantomjs', 'phantomjs');
var casperjs = path.resolve(__dirname, 'bins', 'casperjs', 'bin', 'casperjs');

// I tried to edit the PATH but it doesn't work.
// process.env.PATH = process.env.PATH + ':' + phantomjs;
// process.env.PATH = process.env.PATH + ':' + casperjs;

// Now launch a casperjs script and get result.
var p = exec.spawn(casperjs, ['test.js']);
p.stdout.on('data', function(data) {
    console.log(data.toString());
});

当我运行我的脚本时,我得到一个错误:

Fatal: [Errno 2] No such file or directory; did you install phantomjs?

有没有办法通过 exec.spawn() 使用 phantomjs 和 casperjs?

编辑:我发现了我的问题,我在系统 PATH 中添加了错误的路径。

我添加了文件的路径,但这很愚蠢,我必须添加目录的路径!

这是正确的代码:

var exec = require('child_process'),
    path = require('path');

// Directory paths where I extracted phantomjs and casperjs.
var phantomjs = path.resolve(__dirname, 'bins', 'phantomjs');
var casperjs = path.resolve(__dirname, 'bins', 'casperjs', 'bin');

// console.log(process.env.PATH);
process.env.PATH = process.env.PATH + ':' + phantomjs;
process.env.PATH = process.env.PATH + ':' + casperjs;
// console.log(process.env.PATH);

// Now launch a casperjs script and get result.
var p = exec.spawn('casperjs', ['test.js']);
p.stdout.on('data', function(data) {
    console.log(data.toString());
});

【问题讨论】:

  • 您尝试从npm 安装它吗?带有-g 标志。你不会有这样的 PATH 问题。

标签: node.js phantomjs casperjs


【解决方案1】:

这里是 exec(我没有尝试使用 spawn):

var exec = require("child_process").exec;

exec('casperjs test scriptName.js',function(err,stdout,stderr){
    console.log('stdout: ' + stdout);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    相关资源
    最近更新 更多