Как выполнить синхронный клик 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;
});
});
})
Проблема в том, что она нажимает кнопку, затем движется дальше, автоматически возвращаясь к исходной странице, поэтому я не могу собрать информацию со страницы, на которую кнопка перенаправила меня тоже.
Что я хочу сделать, это нажать на кнопку, получить перенаправление, собрать информацию, а затем вернуться на исходную страницу. Каков будет лучший способ пойти по этому поводу? Спасибо!