使用截图的功能的梦魇类型结果

时间:2015-02-18 15:28:34

标签: javascript node.js nightmare

嘿我试图用噩梦拍摄一个元素的截图,而不是想用这个函数从这个截图中提取文本,并在nightmare.type()中使用它的结果。问题是当我使用nightmare.run()时,我得到一个错误,截图不存在。我怎样才能解决这个问题?这是我的代码:

var Nightmare = require('nightmare');
var Screenshot = require('nightmare-screenshot');

var nightmare = new Nightmare();
nightmare.goto('website');
//Takes screenshot of element
nightmare.use(Screenshot.screenshotSelector('screenshot' + i + '.png', 'img[id="yw0"]'));
nightmare.type('input[id=AuthForm_login]', username);
nightmare.type('input[id=AuthForm_password]', password);

nightmare.type('input[id=upload]', image.decodeFile('screenshot' + i + '.png', function(err, result){
    //Returns Text from the Screenshot taken above!
    return result.text;
}));
nightmare.run();

当我删除该行时:

nightmare.type('input[id=upload]', image.decodeFile('screenshot' + i + '.png', function(err, result){
        //Returns Text from the Screenshot taken above!
        return result.text;
    }));

一切正常,我得到了截图。

1 个答案:

答案 0 :(得分:0)

当噩梦使用Phantomjs时你可以这样做,虽然我发现下面应该有所帮助。

感谢@fernandopasik说:

  

我找到了一种方法,使用“use”方法执行插件。

nightmare = new Nightmare(); urls.forEach(function (url) {
    nightmare.goto(url).screenshot(path).use(function () {
        console.log('finished one');
    }); });

nightmare.run(function () {
    console.log('finished all'); });

NightmareJS screenshot callback