使用 CasperJS 选择下拉选项
Selecting drop down option using CasperJS
当我尝试 select CasperJS 的一个选项时,我被卡住了,尝试了很多 casperJS 函数,但是 none 到目前为止它们都成功了,也许有一个简单的方法对这种形式做一个selection?
<form class="_messageBoxForm" id="messageBoxForm" name="messageBoxForm" method="post" action="" data-source="">
<select class="_time _hours">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6" selected="selected">6</option>
</select>
</form>
我已经尝试过的东西:
this.evaluate(function() {
$('._time._hours').val('5').change();
});
this.evaluate(function() { document.querySelector('select._time._hours').selectedIndex = 2;
return true;
});
this.fillSelectors('form#messageBoxForm', {
'select[class="_time _hours"]': '5'
}, true);
试试下面的解决方案,它可能对您有所帮助
casper.then(function(){
this.click("._time._hours");
this.evaluate(function() {
var form = document.querySelector('.form-control');
form.selectedIndex = 2;
$(form).change();
});
});
Prateek,你的解决方案对我有用,但我有一个 Id 可以使用。
this.evaluate(function(){
var form = document.querySelector('#searchSelectId');
form.selectedIndex = 3;
$(form).change();
});
当我尝试 select CasperJS 的一个选项时,我被卡住了,尝试了很多 casperJS 函数,但是 none 到目前为止它们都成功了,也许有一个简单的方法对这种形式做一个selection?
<form class="_messageBoxForm" id="messageBoxForm" name="messageBoxForm" method="post" action="" data-source="">
<select class="_time _hours">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6" selected="selected">6</option>
</select>
</form>
我已经尝试过的东西:
this.evaluate(function() {
$('._time._hours').val('5').change();
});
this.evaluate(function() { document.querySelector('select._time._hours').selectedIndex = 2;
return true;
});
this.fillSelectors('form#messageBoxForm', {
'select[class="_time _hours"]': '5'
}, true);
试试下面的解决方案,它可能对您有所帮助
casper.then(function(){
this.click("._time._hours");
this.evaluate(function() {
var form = document.querySelector('.form-control');
form.selectedIndex = 2;
$(form).change();
});
});
Prateek,你的解决方案对我有用,但我有一个 Id 可以使用。
this.evaluate(function(){
var form = document.querySelector('#searchSelectId');
form.selectedIndex = 3;
$(form).change();
});