Class ElementsCollection

    • Constructor Detail

      • ElementsCollection

        public ElementsCollection​(CollectionSource collection)
      • ElementsCollection

        public ElementsCollection​(Driver driver,
                                  java.util.Collection<? extends org.openqa.selenium.WebElement> elements)
      • ElementsCollection

        public ElementsCollection​(Driver driver,
                                  java.lang.String cssSelector)
      • ElementsCollection

        public ElementsCollection​(Driver driver,
                                  org.openqa.selenium.By seleniumSelector)
      • ElementsCollection

        public ElementsCollection​(Driver driver,
                                  org.openqa.selenium.WebElement parent,
                                  java.lang.String cssSelector)
      • ElementsCollection

        public ElementsCollection​(Driver driver,
                                  org.openqa.selenium.WebElement parent,
                                  org.openqa.selenium.By seleniumSelector)
    • Method Detail

      • shouldHaveSize

        @Nonnull
        public ElementsCollection shouldHaveSize​(int expectedSize)
        Deprecated. Use $$.shouldHave(size(expectedSize)) instead.
      • shouldHave

        @Nonnull
        public ElementsCollection shouldHave​(CollectionCondition... conditions)
        For example: $$(".error").shouldHave(size(3)) $$(".error").shouldHave(texts("Error1", "Error2"))
      • shouldHave

        @Nonnull
        public ElementsCollection shouldHave​(CollectionCondition condition,
                                             java.time.Duration timeout)
        Check if a collection matches given condition within given period
        Parameters:
        timeout - maximum waiting time
      • waitUntil

        protected void waitUntil​(CollectionCondition condition,
                                 java.time.Duration timeout)
      • filter

        @CheckReturnValue
        @Nonnull
        public ElementsCollection filter​(Condition condition)
        Filters collection elements based on the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied
        Parameters:
        condition - condition
        Returns:
        ElementsCollection
      • filterBy

        @CheckReturnValue
        @Nonnull
        public ElementsCollection filterBy​(Condition condition)
        Filters collection elements based on the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied
        Parameters:
        condition - condition
        Returns:
        ElementsCollection
        See Also:
        filter(Condition)
      • exclude

        @CheckReturnValue
        @Nonnull
        public ElementsCollection exclude​(Condition condition)
        Filters elements excluding those which met the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied
        Parameters:
        condition - condition
        Returns:
        ElementsCollection
      • excludeWith

        @CheckReturnValue
        @Nonnull
        public ElementsCollection excludeWith​(Condition condition)
        Filters elements excluding those which met the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied
        Parameters:
        condition - condition
        Returns:
        ElementsCollection
        See Also:
        exclude(Condition)
      • find

        @CheckReturnValue
        @Nonnull
        public SelenideElement find​(Condition condition)
        Find the first element which met the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied
        Parameters:
        condition - condition
        Returns:
        SelenideElement
      • findBy

        @CheckReturnValue
        @Nonnull
        public SelenideElement findBy​(Condition condition)
        Find the first element which met the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied
        Parameters:
        condition - condition
        Returns:
        SelenideElement
        See Also:
        find(Condition)
      • texts

        @CheckReturnValue
        @Nonnull
        public java.util.List<java.lang.String> texts()
        Gets all the texts in elements collection
        Returns:
        array of texts
      • texts

        @CheckReturnValue
        @Nonnull
        public static java.util.List<java.lang.String> texts​(@Nullable
                                                             java.util.Collection<org.openqa.selenium.WebElement> elements)
        Fail-safe method for retrieving texts of given elements.
        Parameters:
        elements - Any collection of WebElements
        Returns:
        Array of texts (or exceptions in case of any WebDriverExceptions)
      • elementsToString

        @CheckReturnValue
        @Nonnull
        public static java.lang.String elementsToString​(Driver driver,
                                                        @Nullable
                                                        java.util.Collection<org.openqa.selenium.WebElement> elements)
        Outputs string presentation of the element's collection
        Parameters:
        elements - elements of string
        Returns:
        String
      • get

        @CheckReturnValue
        @Nonnull
        public SelenideElement get​(int index)
        Gets the n-th element of collection (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied (.click(), should..() etc.)
        Specified by:
        get in interface java.util.List<SelenideElement>
        Specified by:
        get in class java.util.AbstractList<SelenideElement>
        Parameters:
        index - 0..N
        Returns:
        the n-th element of collection
      • first

        @CheckReturnValue
        @Nonnull
        public SelenideElement first()
        returns the first element of the collection ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied (.click(), should..() etc.) NOTICE: $(css) is faster and returns the same result as $$(css).first()
        Returns:
        the first element of the collection
      • last

        @CheckReturnValue
        @Nonnull
        public SelenideElement last()
        returns the last element of the collection (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied (.click(), should..() etc.)
        Returns:
        the last element of the collection
      • first

        @CheckReturnValue
        @Nonnull
        public ElementsCollection first​(int elements)
        returns the first n elements of the collection (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied (.click(), should..() etc.)
        Parameters:
        elements - number of elements 1..N
      • last

        @CheckReturnValue
        @Nonnull
        public ElementsCollection last​(int elements)
        returns the last n elements of the collection (lazy evaluation) ATTENTION! Doesn't start any search yet. Search will be started when action or assert is applied (.click(), should..() etc.)
        Parameters:
        elements - number of elements 1..N
      • size

        @CheckReturnValue
        public int size()
        return actual size of the collection, doesn't wait on collection to be loaded. ATTENTION not recommended for use in tests. Use collection.shouldHave(size(n)); for assertions instead.
        Specified by:
        size in interface java.util.Collection<SelenideElement>
        Specified by:
        size in interface java.util.List<SelenideElement>
        Specified by:
        size in class java.util.AbstractCollection<SelenideElement>
        Returns:
        actual size of the collection
      • iterator

        @CheckReturnValue
        @Nonnull
        public java.util.Iterator<SelenideElement> iterator()
        Specified by:
        iterator in interface java.util.Collection<SelenideElement>
        Specified by:
        iterator in interface java.lang.Iterable<SelenideElement>
        Specified by:
        iterator in interface java.util.List<SelenideElement>
        Overrides:
        iterator in class java.util.AbstractList<SelenideElement>
      • listIterator

        @CheckReturnValue
        @Nonnull
        public java.util.ListIterator<SelenideElement> listIterator​(int index)
        Specified by:
        listIterator in interface java.util.List<SelenideElement>
        Overrides:
        listIterator in class java.util.AbstractList<SelenideElement>
      • toArray

        @CheckReturnValue
        @Nonnull
        public java.lang.Object[] toArray()
        Specified by:
        toArray in interface java.util.Collection<SelenideElement>
        Specified by:
        toArray in interface java.util.List<SelenideElement>
        Overrides:
        toArray in class java.util.AbstractCollection<SelenideElement>
      • snapshot

        @CheckReturnValue
        @Nonnull
        public ElementsCollection snapshot()
        Takes the snapshot of current state of this collection. Succeeding calls to this object WILL NOT RELOAD collection element from browser. Use it to speed up your tests - but only if you know that collection will not be changed during the test.
        Returns:
        current state of this collection
      • toString

        @CheckReturnValue
        public java.lang.String toString()
        Overrides:
        toString in class java.util.AbstractCollection<SelenideElement>