PhantomJS page.open冻结了[英] PhantomJS page.open freezes

问题描述

我正在尝试使用捕获示例

使用phantomjs打开网站
var page = require('webpage').create();
page.open('http://github.com/', function() {
  page.render('github.png');
  phantom.exit();
});

使用Ubuntu 14.04,该代码在我的本地计算机上正常工作.但是,当我在虚拟服务器上运行代码时,从未调用回调,并且脚本不会退出.服务器和我的本地计算机正在运行完全相同的设置.我在虚拟化的VMware和Virtuozzo的虚拟化上尝试了2个不同的服务器.

.

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

推荐答案

实际上useragent造成了所有麻烦. @artjom-b向我指出了这个问题https://stackoverflow.com/questions/questions/26517852/26517852/taking-reliable-screenshots-screenshots-of-websites-websites-websites-websites-phantomjs-phantomjs-and-casperjs-both-both-both-return-return-return-return-return-port网站的可靠屏幕截图? phantomjs和casperjs都在某些网站上返回空屏幕摄影.唯一的区别是对我来说,图像文件从未创建.

因此,用

设置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';

实际解决了问题.

本文地址:https://www.itbaoku.cn/post/1740081.html