简体   繁体   English

如何使用Protractor按文本查找并单击表元素?

[英]How to find and click a table element by text using Protractor?

<tr id="item" ng-repeat="item in itemList>
   <td id="code" ng-repeat="column in columns">Some Text</td>
</tr>

I've seen some other similar questions but I couldn't solve it yet. 我已经看到了其他一些类似的问题,但我还是无法解决。 Thats what I've tried so far: 这就是我到目前为止所尝试的:

element.all(by.repeater('column in columns')).findElement(by.id('code')).getText('Some Text').click();

EDIT: 编辑:

<tr ng-repeat="item in items>
<td>{{item.name}}</td>
<td>{{item.description}}</td>
</tr>

Which results in: 结果如下:

<tr>
<td>Some Name</td>
<td>Some Text</td>
</tr>
<tr>
<td>More Name</td>
<td>More Text</td>
</tr>

etc etc 等等

You need to filter() the desired element: 你需要filter()所需的元素:

var columns = element.all(by.repeater('column in columns'));
columns.filter(function (elm) {
    return elm.getText().then(function (text) {
        return text == 'Some Text';
    });
}).first().click();

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

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