PhantomJS页面。打开冻结

PhantomJS页面。打开冻结,phantomjs,headless,Phantomjs,Headless,我正在尝试使用捕获示例打开一个使用PhantomJS的网站 var page = require('webpage').create(); page.open('http://github.com/', function() { page.render('github.png'); phantom.exit(); }); 代码在我的本地机器上运行良好,使用的是Ubuntu 14.04。但是,当我在虚拟服务器上运行代码时,永远不会调用回调,脚本也不会退出。服务器和我的本地计算机正在运行完

我正在尝试使用捕获示例打开一个使用PhantomJS的网站

var page = require('webpage').create();
page.open('http://github.com/', function() {
  page.render('github.png');
  phantom.exit();
});
代码在我的本地机器上运行良好,使用的是Ubuntu 14.04。但是,当我在虚拟服务器上运行代码时,永远不会调用回调,脚本也不会退出。服务器和我的本地计算机正在运行完全相同的设置。我在虚拟化的VMWare和Virtuozzo上的两台不同服务器上试用了它


这似乎不是网络错误,因为所有请求都成功了。

实际上是用户代理造成了所有问题@artjom-b向我指出了这个问题。唯一的区别是,对我来说,图像文件从未创建过

因此,将UserAgent设置为

page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36';

实际解决了问题。

y设置用户代理解决了问题。我永远不会想到这个。谢谢好的,看来你正在使用PhantomJS 1.9.8?Jip我正在使用最新版本1.9.8