我是phantomjs的新手,正在测试2.5.0-development
版。我使用的脚本screen.js
可以很好地与
http://phantomjs.org和https://google.com
但不适用于https://globo.com和https://uol.com.br
我不明白我做错了什么,没有错误出现。
screen.js
var page = require('webpage').create();
page.open('https://www.globo.com', function() {
page.render('globo.png');
phantom.exit();
});
编辑: 我尝试使用旧版本2.1.1,并且可以正常工作。问题似乎是版本。
答案 0 :(得分:1)
如phantomjs页面上所述-http://phantomjs.org/-PhantomJS开发已停止,并且在这一点上已经过时了。 PhantomJS基本上等效于6-7年的浏览器,不支持许多当前的JS / CSS(let,const,flexbox,网格布局等),并且有讨厌的习惯,即在不受支持的JS功能时不引发错误(例如let
或const
)用于页面的资产中,而只是忽略那些JS文件。切换到更现代的产品(如无头Chrome),您会变得更好。
答案 1 :(得分:0)
我认为您必须稍等片刻才能加载页面。尝试添加一个设置的超时时间,例如:
var page = require('webpage').create();
page.open('https://www.globo.com', function() {
setTimeout(function(){
page.render('globo.png');
phantom.exit();
}, 5000); // Change timeout as required to allow sufficient time
});