我正在尝试创建一个节点服务器来生成 phantomjs 进程以创建屏幕截图。Grab.js 脚本在执行时工作正常,我已经确认它写入标准输出。问题是产生进程的节点代码只是挂起。我已经确认 phantomjs 在路径中。任何人都知道这里可能发生了什么或我如何解决这个问题?
这是渲染页面并将数据写入标准输出的 phantomjs 代码 (grab.js):
var page = require('webpage').create(),
system = require('system'),
fs = require('fs');
var url = system.args[1] || 'google.com';
page.viewportSize = {
width: 1024,
height: 1200
};
page.open(url, function() {
var b64 = page.renderBase64('png');
fs.write('/dev/stdout', b64, 'w');
phantom.exit();
});
这是产生幻影进度并打印结果(挂起)的节点代码:
var http = require('http'),
exec = require('child_process').exec,
fs = require('fs');
exec('phantomjs grab.js google.com', function(error, stdout, stderr) {
console.log(error, stdout, stderr);
});