【问题标题】:Set the value to dropdown by index using CasperJS使用 CasperJS 将值设置为按索引下拉
【发布时间】:2013-11-25 06:14:21
【问题描述】:

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

我想通过 index.ex 设置自动值我有 index=3 它会在下拉值上显示Paris 3ème

我正在尝试使用下面的代码,但它不起作用它仍然在下拉列表中显示Choisir une mairie

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

【问题讨论】:

  • this.fillSelectors('form#naissancelieuEtDate', { 'select[name="mairieActe"]': ('Paris'+index+'ème') });this.capture('result.png'); 工作?

标签: javascript phantomjs html-select casperjs


【解决方案1】:

你可以尝试使用 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");
});

【讨论】:

  • 你总是可以使用 casper.thenEvaluate() 它做同样的事情并为你节省几个字符
猜你喜欢
  • 2022-09-25
  • 1970-01-01
  • 2014-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-21
相关资源
最近更新 更多