Javascript 量角器js中的for循环

Javascript 量角器js中的for循环,javascript,angularjs,protractor,angularjs-e2e,Javascript,Angularjs,Protractor,Angularjs E2e,我有一个场景,其中存在具有classname的重复元素。product tile,我试图通过该类名获取元素,并循环遍历每个元素,找到标题为Products的元素 如果是这样的话,我会尝试单击apt add to cart按钮,但这里的代码不会循环 var products = element.all(by.css('.product-tile')); for (var i = 0; i < products.length; i++) { console.log(i

我有一个场景,其中存在具有classname
的重复元素。product tile
,我试图通过该类名获取元素,并循环遍历每个元素,找到标题为
Products
的元素

如果是这样的话,我会尝试单击
apt add to cart按钮
,但这里的代码不会循环

     var products = element.all(by.css('.product-tile'));
    for (var i = 0; i < products.length; i++) {
    console.log(i);
    var product = products.get(0);
    if (product.element(by.css('.productName .title')).getText() === 'Products') {
        product.element(by.css('apt-add-to-cart-button')).click();
    }
}
var-products=element.all(by.css('.product-tile');
对于(变量i=0;i
html:

任何帮助都将不胜感激。

请通读,因为
getText()
返回一个需要解决的承诺

你可能需要这样的东西

var products = element.all(by.css('.product-tile.ng-scope'));
for (var i = 0; i <= products.length; i++) {
console.log(i);
var product = products.get(0);
if (product.element(by.css('.productName .title')).getText().then(function(returnText){
    if(returnText==='Products'){
   product.element(by.css('apt-add-to-cart-button')).click();
}else{
   console.log('Something happened');
}

 });
 }
var products=element.all(by.css('.product tile.ng scope');

对于(var i=0;i实际上,重复选择器应该解析为如下所示的承诺

element.all(by.css('.product-tile.ng-scope')).then(function(items){
    console.log(items.length); //will get the length here

// do the stuff here
});

您不能以这种方式使用
getText()
getText()
需要解析承诺,然后才能使用。另外,如果发生任何错误,请说明。@demouser123没有任何错误我没有得到console.log(i)输出请在问题正文中添加相关HTML。相同的结果..products.length在我打开控制台时显示为未定义。