gpt4 book ai didi

node.js - 将 phantomjs 和 casperjs 与 Nodejs 脚本一起使用?

转载 作者:太空宇宙 更新时间:2023-11-04 02:33:58 25 4
gpt4 key购买 nike

我将 casperjs 和 phantomjs 提取到 bins 文件夹中。

我想在我的 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?

有没有办法将 phantomjs 和 casperjs 与 exec.spawn() 一起使用?

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

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

这是正确的代码:

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());
});

最佳答案

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

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

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

关于node.js - 将 phantomjs 和 casperjs 与 Nodejs 脚本一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com