alecxe alecxe - 4 months ago 145
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,
protractor
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
protractor
know that I'm aware of the problem and don't want the warning to be shown anymore?




Using
protractor
development version (installed directly from the master branch).

Answer

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).