量角器 - 我可以将 $$(elementLocator).first() 用于更多元素,例如第二个、第三个等等吗?

Protractor - Can I use $$(elementLocator).first() for more elements like the second, third and etc..?

我可以对第二个、第三个等更多元素使用 $$(elementLocator).first() 吗?

还是仅针对第一个和最后一个元素?

例如 - 我有一个下拉列表,里面有 5 个按钮,但它们有一些属性,我想一个一个地单击所有按钮..所以第一个将是:

$$("button.font-sm.md-button.md-ink-ripple").first().click();

我怎样才能点击第二个选项?

这是元素属性:

<button class="font-sm md-button md-ink-ripple" type="button" ng-transclude="" ng-click="actionClick(saction, $event)"><span class="ng-binding ng-scope">Message</span></button>

我知道可以使用 Xpath,但我更喜欢一些稳定的定位器。

您可以使用 get() 量角器内置的功能。 get() 函数是一个基于零索引的函数。下面是如何使用它 -

$$("button.font-sm.md-button.md-ink-ripple").get(0).click(); //Click first element
$$("button.font-sm.md-button.md-ink-ripple").get(1).click(); //Click second element

您始终可以使用 first() and last() 函数,这些函数是 get() 函数的内部实现。希望对你有帮助。

您可以使用 .get(x),其中 x 是项目的 zero-based 索引。

$$("button.font-sm.md-button.md-ink-ripple").get(1).click(); //Click second item
$$("button.font-sm.md-button.md-ink-ripple").last().click(); //Click last item