Phantom JS加载通过JS加载内容的页面,返回黑色屏幕截图jpg图像

时间:2018-12-19 15:41:08

标签: phantomjs

我在获取通过JS加载的网站的屏幕截图时遇到问题。我想获取该网站的屏幕截图,但我得到了黑色的屏幕截图。该代码对于其他网站都可以正常工作,除了该网站可以通过js加载所有内容。(网站为:https://signup.investorplace.com/?cid=MKT390371&eid=MKT390711&encryptedsnaid=&snaid=&step=start&assetId=AST96863

我的代码在这里:

var webpage = require('webpage');
var page=webpage.create();
var system=require('system');
var url='http://'+system.args[1];

page.settings.resourceTimeout = 15000; // 15 seconds
page.open(url, function (status) {
       if (status !== 'success') {
           console.log('Unable to load the address!');
       } else {
        window.setTimeout(function () {
            page.render('preview.jpg',{format:'jpeg',quality:'80'});
            phantom.exit();
        },3000);
    }
});

1 个答案:

答案 0 :(得分:0)

请注意如何使用url协议创建http变量

var url='http://'+system.args[1];

但是您的目标页面是通过http s 提供的。 url注定是不正确的。

在提供正确的URL后,PhantomJS将产生a valid preview