无法使用For Loop with Promises

时间:2015-09-15 14:15:23

标签: javascript selenium selenium-webdriver protractor

我需要做的是我必须点击一些图像,然后文本在另一个元素中发生变化。 我正在使用For Loop with promise,所以我能够成功点击图像1 1,但文本没有显示。 它显示最后一次文本5次。 请帮忙

element.all(by.xpath(".//*[@ng-repeat='num in facesGrid[$index]']")).then(function(faces){



        for(var i=0;i<faces.length;i++)
        {
            element(by.model('currentTestimonialIndex')).getText().then(function(Index){
            console.log(Index);
            });
            faces[i].click();



    }

        });

1 个答案:

答案 0 :(得分:2)

使用each()代替for循环,找到exact repeater的“面孔”:

element.all(by.exactRepeater("num in facesGrid")).each(function (face) {
    element(by.model('currentTestimonialIndex')).getText().then(function (text) {
        console.log(text);
    });

    face.click();
});

请注意,这仍然是猜测,因为您没有向我们提供您正在处理的页面的来源 - currentTestimonialIndex是一个谜。