当我在casperjs中使用sendKeys()传递变量时,变量不会显示出来

时间:2014-04-28 10:29:08

标签: casperjs

我遇到了尝试让变量工作的问题。如果我在我的代码中用一个数字代替i它可以正常工作但只是让变量导致它不执行sendKeys任务。我也尝试过填充它也做同样的事情。这是我的代码任何帮助非常感谢。谢谢!

for (var i = 0; i < custArr.length; i++) {
    casper.then(function() {
        this.sendKeys('#searchdata2', custArr[i][3]);
        this.sendKeys('#searchdata1', custArr[i][11]);
    });

    casper.thenClick(x('//*[@id="customerSearchForm"]/table/tbody/tr/td/div/div[6]/input'), function() {
        this.wait(delay, function() {
        });
        casper.capture('test1.png');
        });}

1 个答案:

答案 0 :(得分:1)

尝试使用:

for (var i = 0; i < custArr.length; i++) {
    //IIFE, to avoid it executes custArr.length fois i=custArr.length, we have to create a local scope for each i value
    (function(index){

    casper.then(function() {
        this.sendKeys('#searchdata2', custArr[i][3]);
        this.sendKeys('#searchdata1', custArr[i][11]);
    });

    casper.thenClick(x('//*[@id="customerSearchForm"]/table/tbody/tr/td/div/div[6]/input'), function() {
        this.wait(delay, function() {
        });
        casper.capture('test1.png');
        });

    })(i);

    }