如何执行同步点击CasperJS

时间:2018-07-03 20:31:03

标签: javascript asynchronous web-scraping casperjs synchronous

在过去的几个小时中,我一直在努力地使用CasperJS的异步函数,而现在我已经感到非常头痛,我终于在寻求建议。

基本上,我在页面上有一堆按钮。每个按钮将我带到我要收集值的新页面,然后返回到原始页面并单击下一步。这是我当前的代码:

var curLinks = Array.from(this.getElementsAttribute('td a', 'href'));
var found = [];
var k = 0;
this.eachThen(curLinks, function(response) {
  this.thenClick('tr a:nth-of-type(' + k + ')', function() {
    this.echo('Opened', response.url);
    this.echo("clicked, now waiting");
    //this.echo(this.getHTML());
    this.waitForSelector("h2", function() {
      this.echo(this.getHTML());
      found.push(this.evaluate(searchLink));
      this.echo(found);
      links = links.concat(found);
      this.echo("links ", links);
      fs.write("auburn.txt", links, 'a');
      //this.back();
      k += 1;
    });
  });
})

问题在于它单击了按钮,然后继续前进,自动跳回到原始页面,因此我也无法从按钮也重定向到我的页面上收集信息。

我要做的是单击按钮,重新定向,收集信息,然后返回到原始页面。最好的方法是什么?谢谢!

0 个答案:

没有答案