Javascript 使用CasperJS将值设置为dropdown by index

Javascript 使用CasperJS将值设置为dropdown by index,javascript,phantomjs,html-select,casperjs,Javascript,Phantomjs,Html Select,Casperjs,我有如下html代码: <select id="mairieActe" class="formengine-select" name="mairieActe"> <option selected="selected" value="">Choisir une mairie</option> <option value="Paris 1er">Paris 1er</option> <option value=

我有如下html代码:

<select id="mairieActe" class="formengine-select" name="mairieActe">
    <option selected="selected" value="">Choisir une mairie</option>
    <option value="Paris 1er">Paris 1er</option>
    <option value="Paris 2ème">Paris 2ème</option>
    <option value="Paris 3ème">Paris 3ème</option>
    <option value="Paris 4ème">Paris 4ème</option>
    <option value="Paris 5ème">Paris 5ème</option>
    <option value="Paris 6ème">Paris 6ème</option>
    <option value="Paris 7ème">Paris 7ème</option>
    <option value="Paris 8ème">Paris 8ème</option>
    <option value="Paris 9ème">Paris 9ème</option>
    <option value="Paris 10ème">Paris 10ème</option>
    <option value="Paris 11ème">Paris 11ème</option>
    <option value="Paris 12ème">Paris 12ème</option>
    <option value="Paris 13ème">Paris 13ème</option>
    <option value="Paris 14ème">Paris 14ème</option>
    <option value="Paris 15ème">Paris 15ème</option>
    <option value="Paris 16ème">Paris 16ème</option>
    <option value="Paris 17ème">Paris 17ème</option>
    <option value="Paris 18ème">Paris 18ème</option>
    <option value="Paris 19ème">Paris 19ème</option>
    <option value="Paris 20ème">Paris 20ème</option>
    <option value="UNKNOWN">Ne sait pas</option>
</select>

您可以尝试使用casper.evaluate()函数:

casper.then(function(){
    casper.evaluate(function() {
        var x_unselect = document.getElementById("mairieActe").children[1]; //making "Choisir une mairie" option unselected
        x_unselect.setAttribute("selected", false);

        var y_select = document.getElementById("mairieActe").children[4]; //select option you're needed
        y_select.setAttribute("selected", "selected");
    });
});
casper.then(function() {
    this.captureSelector("result.png", "html");
});

this.fillSelectors('form#naissancelieuEtDate',{'select[name=“mairieActe”]:('Paris'+index+'ème');this.capture('result.png')工作?您始终可以使用
casper.thenEvaluate()
,它可以执行同样的操作并为您节省一些字符
casper.then(function(){
    casper.evaluate(function() {
        var x_unselect = document.getElementById("mairieActe").children[1]; //making "Choisir une mairie" option unselected
        x_unselect.setAttribute("selected", false);

        var y_select = document.getElementById("mairieActe").children[4]; //select option you're needed
        y_select.setAttribute("selected", "selected");
    });
});
casper.then(function() {
    this.captureSelector("result.png", "html");
});