2013-11-25 31 views
0

我有如下的HTML代碼:設定值通過使用索引CasperJS到下拉

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

我想通過index.ex設定自動值它我已索引= 3它將在下拉值顯示Paris 3ème

我想用下面這段代碼,但它不能工作,仍然在下拉菜單中顯示Choisir une mairie

this.fillSelectors('form#naissancelieuEtDate', { 
    'select[name="mairieActe"]': index 
});this.capture('result.png'); 
+0

'這.fillSelectors('form#naissancelieuEtDate',{ 'select [name =「mairieActe」]':('Paris'+ index +'ème') }); this.capture('result.png');'working? –

回答

0

你可以嘗試使用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"); 
}); 
+0

你總是可以使用casper.thenEvaluate(),它可以顯示相同的東西,併爲你節省幾個字符 – Rakim

相關問題