使用Phantom

时间:2017-05-07 11:41:08

标签: javascript angularjs phantomjs render

我编写了一个脚本来给我一些特定页面的信息,遗憾的是我无法在呈现它之前完全运行它的角度代码。代码正在访问右侧页面,但在从Phantom端完成渲染之前,不会运行角度代码。这是一些代码:

var page = new WebPage()
var fs = require('fs');

page.customHeaders = {
    'Authorization': 'Basic ' + btoa('user:pass')
};
page.viewportSize = {
    width: 1000,
    height: 800
};
page.open("https://address", function() {
    window.setTimeout(function() {
        page.render("valued.png");
        phantom.exit();
    }, 5000); // Change timeout as required to allow sufficient time});
});

page.onLoadFinished = function() {
    console.log("Page load finished");
    // page.evaluate(function() {});
    var content = page.content;
    console.log('Content: ' + content);
    phantom.exit();
};

我不能使用page.onCallBack,因为我不是该特定页面的作者,因此当页面完全重新获得时,我无法调用我的幻影代码。有什么想法吗?

我甚至尝试设置更大的超时,我可以看到渲染的页面,但没有加载内容:

var page = new WebPage()


page.viewportSize = {
    width: 1000,
    height: 800
};

page.customHeaders = {
    'Authorization': 'Basic ' + btoa("user:pass")
};

page.open("https://address", function() {
    window.setTimeout(function() {
        page.render("valued.png");
        phantom.exit();
    }, 10000);
});

0 个答案:

没有答案