javascript - Protractor js中的for循环

标签 javascript angularjs protractor angularjs-e2e

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

如果是这样,我正在尝试单击apt-add-to-cart-button,但这里的代码不会进入for循环。

     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();
    }
}

html:

enter image description here

如有任何帮助,我们将不胜感激。

最佳答案

实际上,重复选择器应该被解析为如下的 promise

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

// do the stuff here
});

关于javascript - Protractor js中的for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44785336/

相关文章:

php - 登录时加载页面并且仅在登录时加载页面

javascript - 如何用一个空格替换字符串字符?

angularjs - 使用 Protractor 编辑 ui-grid 单元格值

javascript - 从两个相关集合查询数据的最简洁的解决方案是什么?

javascript - 使用 float 动画前置和附加

html - 如何使用 CSS 将导航栏更改为选项卡?

javascript - 需要将 JSON 对象插入 Angularjs Controller 范围

javascript - 当 Angular JS 代码过于模糊时如何阅读

angular - Protractor - 配置文件 'files' 中的 'tsconfig.json' 列表为空。 (18002)

javascript - 为什么 typescript 类中的这种结构在编译正常时会导致运行时错误?