为什么Phantomjs无法在该站点上使用?

时间:2019-06-08 01:10:11

标签: javascript phantomjs

我是phantomjs的新手,正在测试2.5.0-development版。我使用的脚本screen.js可以很好地与 http://phantomjs.orghttps://google.com 但不适用于https://globo.comhttps://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,并且可以正常工作。问题似乎是版本。

2 个答案:

答案 0 :(得分:1)

如phantomjs页面上所述-http://phantomjs.org/-PhantomJS开发已停止,并且在这一点上已经过时了。 PhantomJS基本上等效于6-7年的浏览器,不支持许多当前的JS / CSS(let,const,flexbox,网格布局等),并且有讨厌的习惯,即在不受支持的JS功能时不引发错误(例如letconst)用于页面的资产中,而只是忽略那些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 
});