为什么 Phantomjs 不适用于此站点?
Why does Phantomjs not work with this site?
我是 phantomjs 的新手,我正在使用版本 2.5.0-development
进行测试。我使用了脚本 screen.js
它与
http://phantomjs.org and https://google.com
但不适用于 https://globo.com and 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 并且它有效。好像是版本问题
我想您在页面加载前必须稍等片刻。尝试添加一个设置超时,例如:
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
});
如 phantomjs 页面所述 - http://phantomjs.org/ - PhantomJS 开发已停止,此时它已经过时了。 PhantomJS 基本上相当于一个 6-7 岁的浏览器,不支持很多当前 JS/CSS(let、const、flexbox、网格布局等),并且有不支持时不引发错误的恶习JS 功能(如 let
或 const
)用于页面的资产中,而只是忽略那些 JS 文件。切换到像 headless Chrome.
这样更现代的东西会更好
我是 phantomjs 的新手,我正在使用版本 2.5.0-development
进行测试。我使用了脚本 screen.js
它与
http://phantomjs.org and https://google.com
但不适用于 https://globo.com and 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 并且它有效。好像是版本问题
我想您在页面加载前必须稍等片刻。尝试添加一个设置超时,例如:
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
});
如 phantomjs 页面所述 - http://phantomjs.org/ - PhantomJS 开发已停止,此时它已经过时了。 PhantomJS 基本上相当于一个 6-7 岁的浏览器,不支持很多当前 JS/CSS(let、const、flexbox、网格布局等),并且有不支持时不引发错误的恶习JS 功能(如 let
或 const
)用于页面的资产中,而只是忽略那些 JS 文件。切换到像 headless Chrome.