在过去的几个小时中,我一直在努力地使用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;
});
});
})
问题在于它单击了按钮,然后继续前进,自动跳回到原始页面,因此我也无法从按钮也重定向到我的页面上收集信息。
我要做的是单击按钮,重新定向,收集信息,然后返回到原始页面。最好的方法是什么?谢谢!