javascript - 如何使用 Protractor 按文本查找和单击表格元素?

标签 javascript angularjs selenium protractor end-to-end

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

关于javascript - 如何使用 Protractor 按文本查找和单击表格元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30594974/

相关文章:

java - 无法通过 jenkins 上的 chrome webdriver 启动 chrome,因为它在我的本地计算机上运行良好

javascript - 如何从字符串获取 url - jQuery 或 Javascript

javascript - 我可以禁用 Safari 的平滑图像缩放吗?

javascript - 使用 Angular 根据重复项的数量设置类?

html - 作用域的 eval 在 AngularJS 指令中返回未定义

python - python Selenium 包中的格式错误

selenium - 使用gradle,testNG不能高效地并行调度测试

Javascript 正则表达式( ":"符号后匹配)

javascript - Android Collections.min NoSuchElementException

angularjs - E/configParser - 错误消息 : configuration file cli. js 未导出配置对象