2015-09-26 26 views
0

我想在nightmarejs中使用我的Facebook帐户自动化喜欢facebook页面的所有帖子。在nightmarejs中是否有foreach方法?

我能够登录到帐户,如Facebook页面。但我无法喜欢页面的所有帖子。因为所有的按钮都包含一个UFILikeLink类。所以如果nightmarejs有foreach语句,或者还有其他方法可以做到这一点,那将会很好吗?

var nightmare = require('nightmare'); 
var nightmare = new nightmare() 
nightmare 
    .viewport(800, 1600) 
    .goto('https://www.facebook.com/login') 
    .on('page-title-updated',function(title){ 
    console.log(title); 
    }).inject('.js','jquery.js') 
    .type('#email', 'username') 
    .type('#pass', 'password') 
    .click('#u_0_2') 
    .wait(10000) 
    .goto('https://www.facebook.com/cocacolaindia') 
    .click('.PageLikeButton') 
    .wait(5000) 
    .screenshot("linkedin.png") 
    .click('.UFILikeLink') 
    .screenshot('fb1.png') 
    .run(function() { console.log('Done!') }); 
+0

也许你可以用'async'和make'foreach'来使用它。 – Gepser

+0

好的。让我尝试。 – Nisthar

+0

但我需要返回数组或其他东西的集合来循环它,并像每个帖子。任何想法做到这一点? – Nisthar

回答

2

使用nightmarejs功能evaluate点击像在浏览器的范围内的所有职位。

nightmare 
    .viewport(800, 1600) 
    .goto('https://www.facebook.com/login') 
    .on('page-title-updated',function(title){ 
    console.log(title); 
    }).inject('.js','jquery.js') 
    .type('#email', 'username') 
    .type('#pass', 'password') 
    .click('#u_0_2') 
    .wait(10000) 
    .goto('https://www.facebook.com/cocacolaindia') 
    .click('.PageLikeButton') 
    .wait(5000) 
    .screenshot("linkedin.png") 
    .evaluate(function(){ 
    $('.UFILikeLink').each(function() { 
     $(this).click(); 
    }); 
    }) 
    .run(function() { console.log('Done!') }); 
相关问题