如何循环噩梦js中的元素

时间:2017-11-21 22:47:16

标签: nightmare

我为我的JS课做了一个项目。我想构建一个nightmare.js脚本,该脚本向某个位置的close5.com上的每个产品帖子发送消息。

我已经想出了如何登录并向单个产品发送消息,但我无法弄清楚如何循环浏览所有产品发送消息并点击"显示更多"然后做接下来的20个产品

这是我到目前为止所拥有的

var Nightmare = require('nightmare');
var startingLink = "https://www.close5.com/l/los_angeles-california"
var nightmare = Nightmare({ show: true });

nightmare
//login code
  .goto('https://www.close5.com/login')
  .type('input[name="email"]', 'email@email')
  .type('input[name="password"]', 'password') 
  .click('.button__root__3pI8a')
  .wait(600)
//end login code

  .goto(startingLink)
  .evaluate(function() {

    var elements = Array.from(document.getElementsByClassName('ItemsListCard__item__8yykb'));


    return elements.map(function(element) {

       .click('.ItemListingActionButtons__ask__3x7L_')
       .type('.ThreadViewInput__input__37Ra7', 'random test msg')
       .click('.ThreadViewInput__send__2FcoR')

    });
  })

  .end()
  .then(function(content) {
    console.log(content);

  })

我如何循环每个元素并单击然后发送消息? 如何单击.evaluate()中的元素?

0 个答案:

没有答案