Class ElementsCollection

    • Field Summary

      • Fields inherited from class java.util.AbstractList

        modCount
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String elementsToString​(Driver driver, java.util.Collection<org.openqa.selenium.WebElement> elements)
      Outputs string presentation of the element's collection
      ElementsCollection exclude​(Condition condition)
      Filters elements excluding those which met the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet.
      ElementsCollection excludeWith​(Condition condition)
      Filters elements excluding those which met the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet.
      ElementsCollection filter​(Condition condition)
      Filters collection elements based on the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet.
      ElementsCollection filterBy​(Condition condition)
      Filters collection elements based on the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet.
      SelenideElement find​(Condition condition)
      Find the first element which met the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet.
      SelenideElement findBy​(Condition condition)
      Find the first element which met the given condition (lazy evaluation) ATTENTION! Doesn't start any search yet.
      SelenideElement first()
      returns the first element of the collection ATTENTION! Doesn't start any search yet.
      ElementsCollection first​(int elements)
      returns the first n elements of the collection (lazy evaluation) ATTENTION! Doesn't start any search yet.
      SelenideElement get​(int index)
      Gets the n-th element of collection (lazy evaluation) ATTENTION! Doesn't start any search yet.
      java.util.Iterator<SelenideElement> iterator()  
      SelenideElement last()
      returns the last element of the collection (lazy evaluation) ATTENTION! Doesn't start any search yet.
      ElementsCollection last​(int elements)
      returns the last n elements of the collection (lazy evaluation) ATTENTION! Doesn't start any search yet.
      java.util.ListIterator<SelenideElement> listIterator​(int index)  
      protected ElementsCollection should​(java.lang.String prefix, long timeoutMs, CollectionCondition... conditions)  
      ElementsCollection shouldBe​(CollectionCondition... conditions)
      For example: $$(".error").shouldBe(empty)
      ElementsCollection shouldBe​(CollectionCondition condition, long timeoutMs)  
      ElementsCollection shouldHave​(CollectionCondition... conditions)
      For example: $$(".error").shouldHave(size(3)) $$(".error").shouldHave(texts("Error1", "Error2"))
      ElementsCollection shouldHave​(CollectionCondition condition, long timeoutMs)
      Check if a collection matches given condition within given period
      ElementsCollection shouldHaveSize​(int expectedSize)
      Deprecated.
      int size()
      return actual size of the collection, doesn't wait on collection to be loaded.
      ElementsCollection snapshot()
      Takes the snapshot of current state of this collection.
      java.util.List<java.lang.String> texts()
      Gets all the texts in elements collection
      static java.util.List<java.lang.String> texts​(java.util.Collection<org.openqa.selenium.WebElement> elements)
      Fail-safe method for retrieving texts of given elements.
      java.lang.Object[] toArray()  
      java.lang.String toString()  
      protected void waitUntil​(CollectionCondition condition, long timeoutMs)  
      • Methods inherited from class java.util.AbstractList

        add, add, addAll, clear, equals, hashCode, indexOf, lastIndexOf, listIterator, remove, removeRange, set, subList
      • Methods inherited from class java.util.AbstractCollection

        addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, removeIf, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
      • Methods inherited from interface java.util.List

        addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray
    • Constructor Detail

      • 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

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

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

        public ElementsCollection shouldHave​(CollectionCondition condition,
                                             long timeoutMs)
        Check if a collection matches given condition within given period
        Parameters:
        timeoutMs - maximum waiting time in milliseconds
      • filter

        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 -
        Returns:
        ElementsCollection
      • filterBy

        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 -
        Returns:
        ElementsCollection
        See Also:
        filter(Condition)
      • exclude

        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 -
        Returns:
        ElementsCollection
      • excludeWith

        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 -
        Returns:
        ElementsCollection
        See Also:
        exclude(Condition)
      • find

        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 -
        Returns:
        SelenideElement
      • findBy

        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 -
        Returns:
        SelenideElement
        See Also:
        find(Condition)
      • texts

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

        public static java.util.List<java.lang.String> texts​(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

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

        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:
      • first

        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:
      • last

        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:
      • first

        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

        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

        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:
      • listIterator

        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

        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

        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

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