1

Nightmare.js を使用して、2 つの異なるページの 2 つのスクリーンショットを取得しようとしています。最初のページでログインする必要があります。その後、ページはユーザーに関する情報を含むポップアップを起動します。

問題は、ログインが成功したにもかかわらず、2 番目のスクリーンショットを取得できないことです。

これが私のコードです:

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

var urls = [];
urls.push('http://www.somepage1.com/');
urls.push('http://subdomine.somepage2.com/user');

var sizes = [];
sizes.push({width: 1024, height: 768});

var login = {
    user: 'xxx',
    password: 'xxx'
};

var navigate = function(nightmare) {
    return function(nightmare) {
        nightmare            
            .wait()
            .type('#user', login.usuario) // Substitute with your username
            .type('#password', login.password) // Substitute with your password
            .click('#btnLogin')
            .wait(10000);
    };
};

for(u in urls) {    
        var nightmare = new Nightmare();

        var size = sizes[0];
        var filename = 'screen-' + String("0" + u).slice(-2) + '-' + size.width + '.png';
        var url = urls[u];

        nightmare
            .viewport(size.width, size.height)            
            .goto(url)
            .wait()
            .use(navigate(nightmare))
            .screenshot(filename)
            .run(function(err, nightmare){
                console.log('Done.');
            });    
}

NodeJS で実行する必要があります。

4

0 に答える 0