Javascript 无法使用带有承诺的For循环
我需要做的是,我必须单击一些图像,然后文本在另一个元素中发生变化。 我使用的是带有承诺的For循环,因此我能够成功地逐个单击图像,但文本无法显示。 它显示最后一个文本5次。 请帮忙Javascript 无法使用带有承诺的For循环,javascript,selenium,selenium-webdriver,protractor,Javascript,Selenium,Selenium Webdriver,Protractor,我需要做的是,我必须单击一些图像,然后文本在另一个元素中发生变化。 我使用的是带有承诺的For循环,因此我能够成功地逐个单击图像,但文本无法显示。 它显示最后一个文本5次。 请帮忙 element.all(by.xpath(".//*[@ng-repeat='num in facesGrid[$index]']")).then(function(faces){ for(var i=0;i<faces.length;i++) {
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();
}
});
element.all(按.xpath(“./*[@ng repeat='num in facesGrid[$index]'])),然后(函数(faces){
for(var i=0;i使用for循环代替for循环,并通过以下方式查找“面”:
请注意,这仍然是一个猜测,因为您尚未向我们提供您正在处理的页面的源代码-什么是CurrentEstimationalIndex
是一个谜。alecxe答案应该有效,但是如果您仍然想使用for循环,那么从for循环调用一个函数,将i
值传递给它oop应该在函数中。alecxe的答案是一个循环。每个函数都是通过定位器找到的所有元素循环的。嗨,alec,我尝试了代码,但现在使用它,点击函数本身现在不起作用。“我感觉我在服用精神复合维生素。”这是为了点击
element.all(by.exactRepeater("num in facesGrid")).each(function (face) {
element(by.model('currentTestimonialIndex')).getText().then(function (text) {
console.log(text);
});
face.click();
});