我想知道为什么我无法使用这个CasperJS代码。我的主要目标是保存一些页面,页面html包含两个放入url的动态值。问题是CasperJS似乎在for()代码完成后运行它的代码并且只保存了最后一页。我怎样才能使这个工作?
var site_list = new Array('stoarge1','storage2','storage3');
var input_list = new Array('','y1','y2','y3');
var random_url = 'https://page.com';
var casper = require('casper').create();
casper.start(random_url, function() {
});
//
var time = 3000;
for (var i=0; i<site_list.length; i++) {
for (var j=0; j<input_list.length; j++) {
var site = site_list[i];
var input = input_list[j];
var url = 'https://page.com/' + site + '?=p'+ input;
var save = '/mydrive/' + site + '_' + input +'.html';
casper.thenOpen(url, function() {
this.echo(this.getCurrentUrl());
var fs = require('fs');
var html = this.getPageContent();
var f = fs.open(save, 'w');
f.write(html);
f.close();
this.echo(site + ' - ' + input + ' (' + j + '/' + input_list.length +')');
});
}
}
casper.run(function () {
this.echo('Done').exit();
});
&#13;