0
내가 가지고 이후의 값을 가져 오기 위해 페이지의 옵션을 통해 루프 다음 스크립트 : startQuery(id, val)
함수가 casper.start()
포함입니다루프는 실행 번
var casper = require('casper').create();
casper.on('remote.message', function (message) {
this.echo(message);
});
casper.on('page.error', function (msg, trace) {
this.echo('Error: ' + msg, 'ERROR');
});
casper.start(url, function() {
this.evaluate(function() {
// nothing
});
this.then(function() {
ddlArea_options = this.getElementsAttribute('#ddlArea option', 'value');
for(var i = 0; i < ddlArea_options.length; i++) {
if(ddlArea_options[i] != '') {
this.echo(ddlArea_options[i]);
startQuery('myID', ddlArea_options[i]);
}
}
});
});
:
function startQuery(id, val) {
casper.start(url, function() {
this.echo('startQuery started');
var obj = {};
obj['#' + id] = val;
this.fillSelectors('#form1', obj, true);
this.evaluate(function() {
__doPostBack('ddlArea', '');
});
this.then(function() {
this.echo("doPostback complete");
var values = this.getElementsAttribute('#anotherSelect option', 'value');
for(var i = 0; i < values.length; i++) {
this.echo(values[i]);
}
});
});
casper.run();
}
을하지만, startQuery()
은 for 루프의 마지막 항목에서 한 번만 실행됩니다. 내가 놓친 게 무엇입니까?