2016-04-20 58 views
0

我使用全局npm安裝phantomJs。爲什麼這段代碼不工作?PhantomJs:Spawn不打開任何應用程序

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薄荷。在終端鍵入命令/usr/bin/sensible-browser file:///example.png工作正常,但爲什麼這不通過腳本。

+0

如何運行此腳本? – Vaviloff

+0

事實證明,在spawn()可以完成之前,phantom.exit()被調用。 – Kumar

回答

1

事實證明phantom.exit()在spawn()可以完成之前被調用。下面的代碼解決了問題。

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

參考:https://github.com/ariya/phantomjs/pull/14220

相關問題