Javascript 使用CasperJS选择下拉选项

Javascript 使用CasperJS选择下拉选项,javascript,html-select,casperjs,Javascript,Html Select,Casperjs,当我尝试用CasperJS选择一个选项时,我被卡住了,尝试了许多CasperJS函数,但到目前为止,它们都没有成功,也许有一种简单的方法可以选择这种形式 <form class="_messageBoxForm" id="messageBoxForm" name="messageBoxForm" method="post" action="" data-source=""> <select class="_time _hours">

当我尝试用CasperJS选择一个选项时,我被卡住了,尝试了许多CasperJS函数,但到目前为止,它们都没有成功,也许有一种简单的方法可以选择这种形式

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

尝试下面的解决方案,它可能会对您有所帮助

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

Prateek,你的解决方案对我有用,但我有一个身份证

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

如果上述解决方案对您有效,那么请将代码中的一行更改为:$(form).val(2).change();谢谢;)我用了“casper.click”(“开始日期”);this.evaluate(function(){var form=document.querySelector('#开始日期');form.selectedIndex=2;$(form.change();});'而且效果很好,谢谢你+1
this.evaluate(function(){
    var form = document.querySelector('#searchSelectId');
    form.selectedIndex = 3;
    $(form).change();
});