如何使用 Protractor 按文本查找并单击 table 元素?
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>
我看到了其他一些类似的问题,但我还没有解决。
这就是我到目前为止所尝试的:
element.all(by.repeater('column in columns')).findElement(by.id('code')).getText('Some Text').click();
编辑:
<tr ng-repeat="item in items>
<td>{{item.name}}</td>
<td>{{item.description}}</td>
</tr>
这导致:
<tr>
<td>Some Name</td>
<td>Some Text</td>
</tr>
<tr>
<td>More Name</td>
<td>More Text</td>
</tr>
等等等等
您需要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();
<tr id="item" ng-repeat="item in itemList>
<td id="code" ng-repeat="column in columns">Some Text</td>
</tr>
我看到了其他一些类似的问题,但我还没有解决。 这就是我到目前为止所尝试的:
element.all(by.repeater('column in columns')).findElement(by.id('code')).getText('Some Text').click();
编辑:
<tr ng-repeat="item in items>
<td>{{item.name}}</td>
<td>{{item.description}}</td>
</tr>
这导致:
<tr>
<td>Some Name</td>
<td>Some Text</td>
</tr>
<tr>
<td>More Name</td>
<td>More Text</td>
</tr>
等等等等
您需要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();