量角器by.repeater找不到任何东西

时间:2015-07-13 17:16:09

标签: javascript angularjs selenium selenium-webdriver protractor

如何使用量角器选择以下中继器?

<a ng-repeat="item in filteredItems = (items | filter:'abc')">{{item}}</a>

1 个答案:

答案 0 :(得分:3)

您应该使用by.exactRepeater()

查看source code,您可以看到exactRepeater检查&#34;&#34;&#34; |&#34;&#34;之前的转发器部分?和&#34; as&#34;。这意味着你不能使用:

element.all(by.exactRepeater("item in filteredItems"));

但必须使用以下内容:

element.all(by.exactRepeater("item in filteredItems = (items"));

,我同意,看起来并不特别可读。在这里创建了一个问题:

更新:现在问题已经解决了(感谢@sjelin非常快)。

而且,您也可以随时以常规的硒方式找到它:

element.all(by.css('a[ng-repeat^="item in filteredItems"]'));
element.all(by.xpath('//a[starts-with(@ng-repeat, "item in filteredItems")]'));