让 CasperJS 遍历 URL 列表
Get CasperJS to iterate over a list of URLs
我有 3 个 URL 可以循环查找要下载的文件。
lst = ["BX", "BL", "BM"];
lst.forEach(function(i){
var url = 'http://www.tzg-infocenter.com/visubl_php//images/' + i + '/' + clip + '/' + casper.cli.raw.get('entryDate') + '/' + ref + '.PDF';
casper.start(url,function(){
this.echo('>>> Starting URL ' + url);
}
});
casper.run();
但只有最后一个元素被回显。 "Starting URL..." 只回显一次。为什么 Casper 不遍历整个数组?
看起来你在每次迭代时都重新启动了 casper。而不是在第一次迭代后使用 thenOpen
。
Signature: thenOpen(String location[, mixed options])
Adds a new navigation step for opening a new location, and optionally add a next step when its loaded:...
尝试以下操作:
var casper = require('casper').create();
var urls = ['https://google.com', 'http://casperjs.org/', 'http://phantomjs.org']
urls.forEach(function(url, idx) {
if ( idx > 0 ) {
casper.thenOpen( url, function() {
this.echo(this.getTitle());
});
} else {
casper.start( url, function() {
this.echo(this.getTitle());
});
}
})
casper.run();
我有 3 个 URL 可以循环查找要下载的文件。
lst = ["BX", "BL", "BM"];
lst.forEach(function(i){
var url = 'http://www.tzg-infocenter.com/visubl_php//images/' + i + '/' + clip + '/' + casper.cli.raw.get('entryDate') + '/' + ref + '.PDF';
casper.start(url,function(){
this.echo('>>> Starting URL ' + url);
}
});
casper.run();
但只有最后一个元素被回显。 "Starting URL..." 只回显一次。为什么 Casper 不遍历整个数组?
看起来你在每次迭代时都重新启动了 casper。而不是在第一次迭代后使用 thenOpen
。
Signature: thenOpen(String location[, mixed options])
Adds a new navigation step for opening a new location, and optionally add a next step when its loaded:...
尝试以下操作:
var casper = require('casper').create();
var urls = ['https://google.com', 'http://casperjs.org/', 'http://phantomjs.org']
urls.forEach(function(url, idx) {
if ( idx > 0 ) {
casper.thenOpen( url, function() {
this.echo(this.getTitle());
});
} else {
casper.start( url, function() {
this.echo(this.getTitle());
});
}
})
casper.run();