嘿我试图用噩梦拍摄一个元素的截图,而不是想用这个函数从这个截图中提取文本,并在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;
}));
一切正常,我得到了截图。
答案 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'); });