我在全球范围内使用npm安装了phantomJs。为什么这段代码不起作用?
var page = require('webpage').create();
var spawn = require('child_process').spawn;
page.open('http://google.com', function(status){
if( status == 'success' ) {
page.render('/tmp/google-snapshot.jpg');
spawn('/usr/bin/sensible-browser', 'file:///tmp/google-snapshot.jpg');
phantom.exit();
}
})

我正在使用linux mint。在终端中键入命令/usr/bin/sensible-browser file:///example.png
工作正常,但为什么这不能通过脚本工作。?
答案 0 :(得分:1)
事实证明,在spawn()可以完成之前调用了phantom.exit()。下面的代码修复了问题。
var page = require('webpage').create();
var spawn = require('child_process').spawn;
page.open('http://google.com', function(status){
if( status == 'success' ) {
page.render('/tmp/google-snapshot.jpg');
spawn('/usr/bin/sensible-browser', 'file:///tmp/google-snapshot.jpg');
}
setTimeout(function(){
phantom.exit();
},2000);
});