Как выполнить синхронный клик CasperJS

Последние несколько часов я боролся с асинхронными функциями 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 ответов

Другие вопросы по тегам