alecxe alecxe - 1 year ago 500
AngularJS Question

"More than one element found for locator" warning

In one of my tests, I'm locating an element using a

CSS selector

element(by.css("ul.nav button"))

There is more than one element matching the query, but, since I need only the first one, I'm okay with the selector.

The problem is,
throws a warning:

WARNING - more than one element found for locator
By.cssSelector("ul.nav button") - the first result will be used

Is it possible to suppress the warning? In other words, how can I let
know that I'm aware of the problem and don't want the warning to be shown anymore?

development version (installed directly from the master branch).

Answer Source

Try this instead:

element.all(by.css("ul.nav button")).first()

Basically, this tells Protractor that you already know there's more than one element, and you just want the first one (like you said in your question).