我开始使用 Grunt 并想将一个变量传递给我通过 exec 运行的 PhantomJS 脚本。我想要做的是为脚本传递一个 url 以从中获取屏幕截图。任何帮助将不胜感激,谢谢!
达伦
Grunt 脚本
exec('phantomjs screenshot.js',
function (error, stdout, stderr) {
// Handle output
}
);
截图.js
var page = require('webpage').create();
page.open('http://google.com', function () {
page.render('google.png');
phantom.exit();
});
最佳答案
命令行参数可通过模块 require('system').args
(Module System
) 访问。第一个始终是脚本名称,然后是后续参数
此脚本将枚举所有参数并写入控制台。
var args = require('system').args;
if (args.length === 1) {
console.log('Try to pass some arguments when invoking this script!');
}
else {
args.forEach(function(arg, i) {
console.log(i + ': ' + arg);
});
}
在你的情况下,解决方案是
咕噜声
exec('phantomjs screenshot.js http://www.google.fr',
function (error, stdout, stderr) {
// Handle output
}
);
截图.js
var page = require('webpage').create();
var address = system.args[1];
page.open(address , function () {
page.render('google.png');
phantom.exit();
});
关于javascript - 通过 exec 将变量传递给 PhantomJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16752882/