【问题标题】:casperjs can't find the id after set idcasperjs在设置id后找不到id
【发布时间】:2018-02-03 16:47:13
【问题描述】:

casperjs设置id后找不到id

casper.then(function () {
screenLog();
var id =  String("_newid_");
var arrow = this.evaluate(function () {
    var arrows = document.querySelectorAll('span.select2-selection__arrow');
    arrows[1].innerHTML = "aa";
    arrows[1].id = id;
    return arrows[1].innerHTML;
});
screenLog();
this.click("#"+id);
screenLog();});

然后是错误代码: CasperError:无法在不存在的选择器上调度 mousedown 事件:#newid

【问题讨论】:

    标签: javascript browser phantomjs casperjs


    【解决方案1】:

    Caspers 评估方法在单独的环境(DOM 环境)中运行,因此在 casper 环境中定义的变量在浏览器环境中是不可访问的。但是,您可以通过添加额外参数来评估函数来将变量传递给浏览器环境。

    所以对于您的案例 id 是未定义的,但您可以像这样正确传递它

    var id =  String("_newid_");
    var arrow = this.evaluate(function (id) {
        var arrows = document.querySelectorAll('span.select2-selection__arrow');
        arrows[1].innerHTML = "aa";
        arrows[1].id = id;
        return arrows[1].innerHTML;
    }, id);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      • 2014-11-15
      相关资源
      最近更新 更多