我为我的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()中的元素?