使用CasperJS选择下拉选项

时间:2016-02-24 20:18:19

标签: javascript html-select casperjs

当我尝试用CasperJS选择一个选项时,我遇到了困难,尝试了很多casperJS函数,但到目前为止他们都没有做到这一点,也许有一种简单的方法可以选择这种形式? / p>

<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);

2 个答案:

答案 0 :(得分:4)

尝试以下可能对您有帮助的解决方案

casper.then(function(){
    this.click("._time._hours");
    this.evaluate(function() {
        var form = document.querySelector('.form-control');
        form.selectedIndex = 2;
        $(form).change();
    });
});

答案 1 :(得分:-2)

Prateek,你的解决方案对我有用,但我有一个Id可以使用。

this.evaluate(function(){
    var form = document.querySelector('#searchSelectId');
    form.selectedIndex = 3;
    $(form).change();
});