我有一个我想点击的div,看起来像这样:
<div class="CG-Item CG-B-Left ng-binding" ng-bind="SPL.showTitleText">My New SPL</div>
所以我称之为代码:
element(by.cssContainingText('.CG-Item', 'My New SPL')).click();
它返回undefined。我错过了什么吗?用例与文档相同。
https://www.protractortest.org/#/api?view=ProtractorBy.prototype.cssContainingText
编辑:忘记在我第一次发布时显示html对象中有ng-bind属性。我相信这就是它不起作用的原因。
答案 0 :(得分:2)
你有没有尝试过element.all(by.cssContainingText('div','My New SPL'))。first()。click()
答案 1 :(得分:0)
放置element.all而不是仅元素对我有帮助
答案 2 :(得分:0)
element.all()-它返回所有符合定位条件的元素,因此我们必须使用索引或其他内置方法来首先获取元素以单击它。
element.all(by.repeater('result in memory')).get(1).click();
element.all(by.repeater('result in memory')).first().click();
element()-它返回匹配定位条件的单个元素,因此我们可以直接单击它。
element(by.id("someID")).click();