javascript - 在nightmarejs中有一个foreach方法吗?

标签 javascript node.js facebook-javascript-sdk nightmare

我正在尝试使用nightmarejs中的我的Facebook帐户来自动喜欢一个Facebook页面的所有帖子。

我能够登录到该帐户,例如facebook页面。但是我无法喜欢页面的所有帖子。因为所有的like按钮都拥有一个类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!') });

最佳答案

使用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!') });

关于javascript - 在nightmarejs中有一个foreach方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32797814/

相关文章:

Javascript 命名空间和私有(private)模块

javascript - 如何在 Node.js 的 Express.js 中获取多个变量?

node.js - node-gyp build 如何在构建 Node 扩展时指定目标 Node 版本

javascript - 我应该使用 Facebook Share Dialog 还是 Feed Dialog?成功响应后,我需要将用户重定向到另一个页面

javascript - Facebook Graph API 返回缺少数据的对象

javascript - Wordpress 找不到文件

javascript - 如何合并包含符号的javascript对象?

node.js - 如何通过添加附加参数来重定向传入的 URL 请求

node.js - 从云存储读取大文件并写入数据存储

javascript - Facebook API 登录 - 日志记录