有两个ID选择。第二个选择框数据根据您在第一个选择框中选择的内容进行链接。换句话说,如果你选择"宝马"在第二个选择框中应该出现316,318,320 ......你明白了。
第一个选择有监听器
('#brand').change(function(){
call ajax and fill the data for the second select box
}
最后我要做的是获得所有品牌的所有型号选项: - )
到目前为止我得到的是:
var casper = require('casper').create({
loadImages:false,
verbose: true,
logLevel: 'debug',
clientScripts: ["includes/jquery.min.js"]
});
casper.userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36');
casper.on('remote.message', function(msg) {
this.echo('remote message caught: ' + msg);
});
casper.on( 'page.error', function (msg, trace) {
this.echo( 'Error: ' + msg, 'ERROR' );
});
casper.start('http://www.mywebsite.kitchen/');
casper.then(function(){
this.evaluate(function(valueOptionSelect){
$('#brand').val(6).trigger('change');
},optionFirstSelect);
this.waitFor(function check() {
return this.evaluate(function(casper) {
var len = $('#model1 option').length;
console.log('length of options is ->', len);
return $('#model1 option').length > 1;
});
}, function then() {
//well i still haven't reach that point
}, function timeOut(){
casper.echo(arguments)
});
});
casper.run(function() {
//finish execution script
this.exit();
});
现在我获得的控制台日志是:
//编辑 - 长度为1而不是0
选项长度为1
当我在浏览器控制台中执行$('#brand').val(6).trigger('change'); $('#model1 option').length
时,我得到了正确的结果。