PhantomJs:Spawn没有打开任何应用程序
PhantomJs: Spawn is not opening any app
我全局使用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
可以很好地工作,但为什么这不能通过脚本工作呢。?
原来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
相关文章:
- 是否有任何开源web应用程序具有良好的QUnit(或JSUnit)测试用例
- 如何在 Rails 应用程序中使用任何 JavaScript 代码
- PhantomJs:Spawn没有打开任何应用程序
- IE窗口失去了对任何XMLHttpRequest启动Angular应用程序的关注
- JQuery在执行速度上是否有任何缺点,这些缺点在大规模的web应用程序中可能会很明显
- 扩展成员应用程序,包括新的路线,现在没有任何渲染
- 在过去24小时内,谷歌应用程序脚本或可视化API的任何变化
- 是否有任何twitter功能用于登录应用程序
- 是否可以提供一个特定的URL,供任何在网络应用程序中为页面添加书签的人使用
- 有没有任何方法可以在单页应用程序中记录url和哈希片段
- 是否有任何Office Apps javascript API可以在客户端应用程序中打开SharePoint Word文
- 如果我动态创建jquery UI对话框,除了在单页应用程序中调用对话框(“关闭”)之外是否有任何清理
- 在谷歌应用程序脚本中处理脚本,任何建议
- 在 React 应用程序中单击除特定 DOM 节点之外的任何内容上的事件
- Phonegap如何检查Android设备是否已经具有任何地图应用程序
- 有关交互式地图应用程序的任何建议
- 从任何客户端访问帆船应用程序
- 如何在应用程序的多个组件中维护一个 js 文件而不会出现任何错误
- Google Chrome 应用程序:任何 SSH/SFTP JS 库
- Dropbox API选择器与JS从localhost: Origin不匹配任何应用程序域