量角器 - 找到定位器的多个元素by.css(.....)

时间:2017-05-24 06:24:52

标签: javascript css protractor

在我的应用程序中有几行,每行最后一列,有“编辑”|“删除”选项,当点击编辑时,在同一个地方我们可以选择“更新”|“取消” ,我成功点击了编辑,做了一些更改,当我尝试点击更新时,它会抛出一个错误:

  

使用定位器by.css(..)找到多个元素,因为它们都具有相同的代码

<td>
<div class="biometricActionCln ng-hide" ng-show="!list.isEditable" style="">
<a ng-click="editBiometrics(list, $index)">
**<i class="fa fa-pencil-square-o">**
</i> Edit</a>
<span> | </span>
<div ng-show="list.isEditable" class="" style="">
<a ng-click="manageEditBiometric(editBiometric, 'Modify', list.biometricId)">
**<i class="fa fa-pencil-square-o">**
</i> Update</a>
<span> | </span>
</div>
</td>

请告诉我如何点击更新链接。

2 个答案:

答案 0 :(得分:4)

Below are different ways of handling multiple elements.

accessing multiple elements with index:
element.all(by.css('.selector'))[0]
element.all(by.css('.selector'))[1]

accessing multiple elements by calling methods:
element.all(locator).first();
element.all(locator).last();

accessing multiple elements through callback function:
element.all(by.css('.selector')).then(function(elements) {
  // elements is an array of ElementFinders.
});

答案 1 :(得分:0)

尝试在每次点击之间添加sleep。这可能有助于量角器分别理解链接。

browser.sleep(2000);