繁体   English   中英

量角器通过绑定单击转发器中的特定元素

[英]protractor click specific element in repeater by binding

我知道该问题过去曾以不同的形式提出过,但仍未找到确切答案。

我需要在中继器中找到一个元素,然后单击它。 中继器是应用程序的列表,我需要找到属性“ displayName”等于特定变量(例如“ appName1”)的特定应用程序。

这是转发器:

<div class="col-md-3 ng-scope" ng-repeat="app in userApps"> <a data-ui-sref="myAppById({appId:app.id})" class="square_container" href="/developers/myApps/ab7d4369-a2da-4bc5-92a5-a19a1af2db1d"> <strong class="app-display-name ng-binding">appName</strong>... 

这只是一部分。

我需要在userApps中找到例如displayName等于“ appName1”的应用程序,然后单击它。

有多种方法可以找到所需的元素,尽管我会链接element.all()element()并使用by.xpath()定位器策略

var a = element.all(by.repeater("app in userApps")).element(by.xpath(".//a[strong = 'appName1']"));
a.click();

或者,使用filter()

element.all(by.repeater("app in userApps")).filter(function (elm) {
    return elm.evaluate("app.displayName").then(function (displayName) {
        return displayName === "appName1";
    });
}).then(function (elms) {
    var link = elms[0].element(by.tagName("a"));
    link.click();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM