如何在节点上制作带有梦魇的条件循环点击事件?

时间:2017-06-19 05:47:18

标签: javascript node.js web-crawler nightmare

我想要制作网页抓取工具。 所以我正在使用node + nightmare。

我要抓取的网页有“加载更多”按钮。 当我点击此按钮时,会像其他任何网页一样加载更多帖子。

问题是 - 此页面上的帖子数量可能会发生变化。所以我的爬虫应用程序不知道多少次按下“加载更多”按钮。

我知道噩梦中有一个'存在'的apu,但是我想用条件重复使用它,而不是一次或固定数字循环。

我有什么逻辑可以使用这个案例吗? 有人帮我T_T

1 个答案:

答案 0 :(得分:0)

您可以查看我的回答Repeatedly Clickling

您可以使用相同的代码进行调整:

function next() {
  if(condition)
  BETHESDA.wait('div[data-is="main-mods-pager"] > button')
    .click('div[data-is="main-mods-pager"] > button')
    .then(function() {
      console.log("click done");
      next();
    })
    .catch(function(err) {
      console.log(err);
      console.log("All done.");
    });
}

function condition() {
  //Your condition code goes here
  //return true or false
}

我认为这应该是一个重复的问题。