以编程方式使用Chrome 59创建给定网站的整页屏幕截图

时间:2017-06-09 14:44:03

标签: javascript node.js selenium

我希望能够创建给定网站的拉页屏幕截图,但网站可能比屏幕上可以查看的大。如果我使用Selenium Webdriver,有没有办法在新的Chrome 59和最新的chromedirver的帮助下以编程方式完成?

2 个答案:

答案 0 :(得分:0)

您是否考虑过使用Nightmare.js

这是example之一的authors

var Nightmare = require('nightmare'),
    vo = require('vo');

function * run() {
    var nightmare = new Nightmare({
        show: false,
        width: 1024,
        height: 768
    });
    var dimensions = yield nightmare.goto('http://www.gmail.com')
        .wait('body')
        .evaluate(function() {
            var body = document.querySelector('body');
            return { 
                height: body.scrollHeight,
                width:body.scrollWidth
            }
        });

    console.dir(dimensions);
    yield nightmare.viewport(dimensions.width, dimensions.height)
        .wait(1000)
        .screenshot(require('path')
            .join(__dirname, 'gmail.png'));

    yield nightmare.end();
}   

vo(run)(function() {
    console.log('done');
});

答案 1 :(得分:-1)

不,不幸的是,这样的事情是不可能的。