Javascript 如何使用PhantomJS呈现网站的一部分?

Javascript 如何使用PhantomJS呈现网站的一部分?,javascript,jquery,phantomjs,Javascript,Jquery,Phantomjs,如何使用PhantomJS呈现网站的一部分:(例如) Phantomjs允许您使用将网页呈现为文件。这将呈现整个页面或由指定的rect 要呈现网站的一部分(HTMl元素),可以使用:这将给出HTMl元素的边界框 一个可能的脚本是 var page = require('webpage').create(); page.viewportSize = { width: 1600, height: 1200 }; var getElementBounds = function (elementId)

如何使用PhantomJS呈现网站的一部分:(例如)


Phantomjs允许您使用将网页呈现为文件。这将呈现整个页面或由指定的rect 要呈现网站的一部分(HTMl元素),可以使用:这将给出HTMl元素的边界框

一个可能的脚本是

var page = require('webpage').create();
page.viewportSize = { width: 1600, height: 1200 };

var getElementBounds = function (elementId) {
    return page.evaluate(function (id) {
        var clipRect = document.getElementById(id).getBoundingClientRect();
        return {
            top: clipRect.top,
            left: clipRect.left,
            width: clipRect.width,
            height: clipRect.height
        };
    }, elementId);
}

var url = 'http://www.sd.gov/';
page.open(url, function (status) {
    setTimeout(function () {
        var clipRect = getElementBounds('exampleHeader1');
        page.clipRect = clipRect;
        page.render('header.png');
        phantom.exit();
    }, 1000);
});

Phantomjs允许您使用将网页呈现为文件。这将呈现整个页面或由指定的rect 要呈现网站的一部分(HTMl元素),可以使用:这将给出HTMl元素的边界框

一个可能的脚本是

var page = require('webpage').create();
page.viewportSize = { width: 1600, height: 1200 };

var getElementBounds = function (elementId) {
    return page.evaluate(function (id) {
        var clipRect = document.getElementById(id).getBoundingClientRect();
        return {
            top: clipRect.top,
            left: clipRect.left,
            width: clipRect.width,
            height: clipRect.height
        };
    }, elementId);
}

var url = 'http://www.sd.gov/';
page.open(url, function (status) {
    setTimeout(function () {
        var clipRect = getElementBounds('exampleHeader1');
        page.clipRect = clipRect;
        page.render('header.png');
        phantom.exit();
    }, 1000);
});