Class FluentWebElement

    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      Alert alert()
      Get an object to control the alert window.
      <T> T as​(java.lang.Class<T> componentClass)
      Wrap all underlying elements in a component.
      <L extends java.util.List<T>,​T>
      L
      asComponentList​(java.lang.Class<L> listClass, java.lang.Class<T> componentClass, java.lang.Iterable<org.openqa.selenium.WebElement> elements)
      Create and register a new list of component from the given element iterable.
      <L extends java.util.List<T>,​T>
      L
      asComponentList​(java.lang.Class<L> listClass, java.lang.Class<T> componentClass, java.util.List<org.openqa.selenium.WebElement> elements)
      Create and register a new list of component from the given element iterable.
      <L extends java.util.List<T>,​T>
      L
      asComponentList​(java.lang.Class<L> listClass, java.lang.Class<T> componentClass, org.openqa.selenium.WebElement... elements)
      Create and register a new list of component from the given element iterable.
      <T> ComponentList asComponentList​(java.lang.Class<T> componentClass, java.lang.Iterable<org.openqa.selenium.WebElement> elements)
      Create and register a new list of component from the given element iterable.
      <T> ComponentList<T> asComponentList​(java.lang.Class<T> componentClass, java.util.List<org.openqa.selenium.WebElement> elements)
      Create and register a new list of component from the given element iterable.
      <T> ComponentList<T> asComponentList​(java.lang.Class<T> componentClass, org.openqa.selenium.WebElement... elements)
      Create and register a new list of component from the given element iterable.
      <T extends FluentWebElement>
      FluentList<T>
      asFluentList​(java.lang.Class<T> componentClass, java.lang.Iterable<org.openqa.selenium.WebElement> elements)
      Create and register a new fluent list.
      <T extends FluentWebElement>
      FluentList<T>
      asFluentList​(java.lang.Class<T> componentClass, java.util.List<org.openqa.selenium.WebElement> elements)
      Create and register a new fluent list.
      <T extends FluentWebElement>
      FluentList<T>
      asFluentList​(java.lang.Class<T> componentClass, org.openqa.selenium.WebElement... elements)
      Create and register a new fluent list.
      FluentList<FluentWebElement> asFluentList​(java.lang.Iterable<org.openqa.selenium.WebElement> elements)
      Create and register a new fluent list from the argument collection of WebElements.
      FluentList<FluentWebElement> asFluentList​(java.util.List<org.openqa.selenium.WebElement> elements)
      Create and register a new fluent list from the argument list of WebElements.
      FluentList<FluentWebElement> asFluentList​(org.openqa.selenium.WebElement... elements)
      Create and register a new fluent list from the argument WebElements.
      FluentList<FluentWebElement> asList()
      Converts this element as a single element list.
      java.lang.String attribute​(java.lang.String name)
      return any value of custom attribute (generated=true will return "true" if attribute("generated") is called.
      FluentWaitElement await()
      Build a wait object to wait for a condition of this element.
      Dom axes()
      Deprecated.
      Use dom() instead.
      boolean canTakeScreenShot()
      Check if underlying WebDriver can take screenshot.
      org.openqa.selenium.Capabilities capabilities()
      Get the actual capabilities of the underlying Selenium WebDriver.
      FluentWebElement clear()
      Clear the element
      FluentWebElement clearReactInput()
      Clear React input using Backspace only
      FluentWebElement click()
      Perform a click.
      boolean clickable()
      Check that this element is visible and enabled such that you can click it.
      FluentConditions conditions()
      Get a conditions object used to verify condition on this element.
      FluentWebElement contextClick()
      Perform a context click.
      CssSupport css()
      Features related to CSS loaded in the active page.
      java.lang.String cssValue​(java.lang.String propertyName)
      Get the value of a given CSS property.
      boolean displayed()
      return true if the element is displayed, other way return false
      Dom dom()
      XPath Axes accessor (parent, ancestors, preceding, following, ...).
      FluentWebElement doubleClick()
      Perform a double click.
      FluentWebElement el​(org.openqa.selenium.WebElement rawElement)
      Wrap existing raw selenium element into an element.
      boolean enabled()
      return true if the element is enabled, other way return false
      EventsRegistry events()
      Retrieves an event registry to register event listeners.
      FluentJavascript executeAsyncScript​(java.lang.String script, java.lang.Object... args)
      Execute a script, asynchronously.
      FluentJavascript executeScript​(java.lang.String script, java.lang.Object... args)
      Execute a script, synchronously.
      Fill<FluentWebElement> fill()
      Construct a Fill Builder in order to allow easy fill of visible input fields.
      FillSelect<FluentWebElement> fillSelect()
      Construct a Fill Select Builder in order to allow easy fill of visible input fields.
      FluentList<FluentWebElement> find​(java.lang.String selector, SearchFilter... filters)
      Find list of elements with CSS selector and filters.
      FluentList<FluentWebElement> find​(java.util.List<org.openqa.selenium.WebElement> rawElements)
      Wrap raw selenium elements into a list of elements.
      FluentList<FluentWebElement> find​(SearchFilter... filters)
      Find list of elements with filters.
      FluentList<FluentWebElement> find​(org.openqa.selenium.By locator, SearchFilter... filters)
      Find list of elements with Selenium locator and filters.
      FluentWebElement frame()
      Select a frame using this element.
      io.appium.java_client.AppiumDriver<?> getAppiumDriver()
      Get the actual underlying AppiumDriver.
      org.openqa.selenium.Cookie getCookie​(java.lang.String name)
      return the corresponding cookie given a name
      java.util.Set<org.openqa.selenium.Cookie> getCookies()
      return the cookies as a set
      org.openqa.selenium.WebDriver getDriver()
      Get the actual underlying Selenium WebDriver.
      org.openqa.selenium.WebElement getElement()
      return the webElement
      FluentLabel<FluentWebElement> getLabel()  
      org.openqa.selenium.WebElement getWrappedElement()  
      void goTo​(java.lang.String url)
      Open the url page
      <P extends FluentPage>
      P
      goTo​(P page)
      Open the page, using the url defined in the page
      void goToInNewTab​(java.lang.String url)
      Open the url page in a new tab
      FluentWebElement hoverOver()
      Hovers the mouse over the current element.
      java.lang.String html()
      Get the HTML of a the element
      java.lang.String id()
      return the id of the elements
      ContainerContext inject​(java.lang.Object container)
      Inject object with FluentLenium resources.
      ContainerContext injectComponent​(java.lang.Object componentContainer, java.lang.Object parentContainer, org.openqa.selenium.SearchContext context)
      Inject object with FluentLenium resources, using given search context and parent container.
      boolean isComponentClass​(java.lang.Class<?> componentClass)
      Check if this class is a component class.
      boolean isComponentListClass​(java.lang.Class<? extends java.util.List<?>> componentListClass)
      Check if this class is a component list class.
      KeyboardElementActions keyboard()
      Execute keyboard actions on the element
      boolean loaded()
      Check if the element is loaded.
      FluentWebElement modifyAttribute​(java.lang.String attributeName, java.lang.String attributeValue)
      Modifies element attributes
      MouseElementActions mouse()
      Execute mouse actions on the element
      java.lang.String name()
      return the name of the element
      <T> T newComponent​(java.lang.Class<T> componentClass, org.openqa.selenium.WebElement element)
      Create and register a new component of the provided type from the given WebElement.
      <L extends java.util.List<T>,​T>
      L
      newComponentList​(java.lang.Class<L> listClass, java.lang.Class<T> componentClass)
      Create and register an empty list of component.
      <L extends java.util.List<T>,​T>
      L
      newComponentList​(java.lang.Class<L> listClass, java.lang.Class<T> componentClass, java.util.List<T> componentsList)
      Create and register a new list of component from the given component list.
      <L extends java.util.List<T>,​T>
      L
      newComponentList​(java.lang.Class<L> listClass, java.lang.Class<T> componentClass, T... componentsList)
      Create and register a new list of component from the given component list.
      <T> ComponentList<T> newComponentList​(java.lang.Class<T> componentClass)
      Create and register an empty list of component.
      <T> ComponentList<T> newComponentList​(java.lang.Class<T> componentClass, java.util.List<T> componentsList)
      Create and register a new list of component from the given component list.
      <T> ComponentList<T> newComponentList​(java.lang.Class<T> componentClass, T... componentsList)
      Create and register a new list of component from the given component list.
      FluentWebElement newFluent​(org.openqa.selenium.WebElement element)
      Create and register a new FluentWebElement from the given WebElement.
      FluentList<FluentWebElement> newFluentList()
      Create and register an empty fluent list.
      <T extends FluentWebElement>
      FluentList<T>
      newFluentList​(java.lang.Class<T> componentClass)
      Create and register an empty fluent list of the provided type.
      <T extends FluentWebElement>
      FluentList<T>
      newFluentList​(java.lang.Class<T> componentClass, java.util.List<T> elements)
      Create and register a new fluent list.
      <T extends FluentWebElement>
      FluentList<T>
      newFluentList​(java.lang.Class<T> componentClass, T... elements)
      Create and register a new fluent list.
      FluentList<FluentWebElement> newFluentList​(java.util.List<FluentWebElement> elements)
      Create and register a new fluent list from the argument list of FluentWebElements.
      FluentList<FluentWebElement> newFluentList​(FluentWebElement... elements)
      Create and register a new fluent list from the argument FluentWebElements.
      <T> T newInstance​(java.lang.Class<T> cls)
      Creates a new instance of a class inject it.
      FluentWebElement noHook()
      Disable all hooks from actual element.
      FluentWebElement noHook​(java.lang.Class<? extends FluentHook>... hooks)
      Disable given hook from actual element.
      <R> R noHook​(java.lang.Class<? extends FluentHook> hook, java.util.function.Function<FluentWebElement,​R> function)
      Invoke a function with no hook.
      <R> R noHook​(java.util.function.Function<FluentWebElement,​R> function)
      Invoke a function with no hook.
      FluentWebElement noHookInstance()
      Creates a new element locator instance with all hooks disabled.
      FluentWebElement noHookInstance​(java.lang.Class<? extends FluentHook>... hooks)
      Creates a new element locator instance with given hook disabled.
      FluentWebElement now()
      Search for the element now, actually performing the search on the WebDriver.
      FluentWebElement now​(boolean force)
      Search for the element now, actually performing the search on the WebDriver.
      java.util.Optional<FluentWebElement> optional()
      Builds an optional.
      java.lang.String pageSource()
      Return the source of the page
      boolean present()
      Check if the element is present in the DOM.
      FluentWebElement reset()
      Reset the element.
      FluentWebElement restoreHooks()
      Retore hooks that were defined initially.
      FluentWebElement scrollIntoView()
      Scrolls the current element into the visible area of the browser window.
      FluentWebElement scrollIntoView​(boolean alignWithTop)
      Scrolls the current element into the visible area of the browser window.
      FluentWebElement scrollToCenter()
      Scrolls center of the current element into the visible area of the browser window, respecting window size.
      boolean selected()
      return true if the element is selected, other way false
      org.openqa.selenium.Dimension size()
      return the size of the element
      boolean stale()
      Check that this element is no longer attached to the DOM.
      FluentWebElement submit()
      Submit the element
      void switchTo()
      Switch to the default element
      void switchTo​(FluentList<? extends FluentWebElement> elements)
      Switch to the first selected Element (if element is null or not an iframe, or doesn't have an id then switch to the default)
      void switchTo​(FluentWebElement element)
      Switch to the selected Element (if element is null or not an iframe, or doesn't have an id then switch to the default)
      void switchToDefault()
      Switch to the default element
      java.lang.String tagName()
      return the tag name
      void takeHtmlDump()
      Take a html dump of the browser DOM.
      void takeHtmlDump​(java.lang.String fileName)
      Take a html dump of the browser DOM into a file given by the fileName param.
      void takeScreenshot()
      Take a snapshot of the browser.
      void takeScreenshot​(java.lang.String fileName)
      Take a snapshot of the browser into a file given by the fileName param.
      java.lang.String text()
      return the visible text of the element
      java.lang.String textContent()
      return the text content of the element (even invisible through textContent attribute)
      java.lang.String toString()  
      java.lang.String url()
      Return the url of the page.
      java.lang.String value()
      return the value of the elements
      FluentWebElement waitAndClick()
      Helper method that: a) waits at most 5 seconds for element b) scrolls centrally into it c) clicks on it
      FluentWebElement waitAndClick​(java.time.Duration duration)
      Helper method that: a) waits for element b) scrolls centrally into it c) clicks on it
      WindowAction window()
      Exposes methods on browser window
      <O,​H extends FluentHook<O>>
      FluentWebElement
      withHook​(java.lang.Class<H> hook)
      Enable a hook with default options.
      <O,​H extends FluentHook<O>>
      FluentWebElement
      withHook​(java.lang.Class<H> hook, O options)
      Enable a hook with given options.
      FluentWebElement withLabel​(java.lang.String label)
      Apply a label that will be displayed as the representation of this object for error message.
      FluentWebElement withLabelHint​(java.lang.String... labelHint)
      Add a label hint that will be appended to the representation of this object for error message.
      FluentWebElement write​(java.lang.String... text)
      Set the text element
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • FluentWebElement

        public FluentWebElement​(org.openqa.selenium.WebElement element,
                                FluentControl control,
                                ComponentInstantiator instantiator)
        Creates a new fluent web element.
        Parameters:
        element - underlying element
        control - control interface
        instantiator - component instantiator
    • Method Detail

      • executeScript

        public FluentJavascript executeScript​(java.lang.String script,
                                              java.lang.Object... args)
        Description copied from interface: JavascriptControl
        Execute a script, synchronously.
        Specified by:
        executeScript in interface JavascriptControl
        Parameters:
        script - script source to execute
        args - script arguments
        Returns:
        an object wrapping the result
      • executeAsyncScript

        public FluentJavascript executeAsyncScript​(java.lang.String script,
                                                   java.lang.Object... args)
        Description copied from interface: JavascriptControl
        Execute a script, asynchronously.
        Specified by:
        executeAsyncScript in interface JavascriptControl
        Parameters:
        script - script source to execute
        args - script arguments
        Returns:
        an object wrapping the result
      • alert

        public Alert alert()
        Description copied from interface: AlertControl
        Get an object to control the alert window.
        Specified by:
        alert in interface AlertControl
        Returns:
        an alert object
      • takeHtmlDump

        public void takeHtmlDump()
        Description copied from interface: SnapshotControl
        Take a html dump of the browser DOM. By default the file will be a html named by the current timestamp.
        Specified by:
        takeHtmlDump in interface SnapshotControl
      • takeHtmlDump

        public void takeHtmlDump​(java.lang.String fileName)
        Description copied from interface: SnapshotControl
        Take a html dump of the browser DOM into a file given by the fileName param.
        Specified by:
        takeHtmlDump in interface SnapshotControl
        Parameters:
        fileName - file name for html dump
      • canTakeScreenShot

        public boolean canTakeScreenShot()
        Description copied from interface: SnapshotControl
        Check if underlying WebDriver can take screenshot.
        Specified by:
        canTakeScreenShot in interface SnapshotControl
        Returns:
        true if screenshot can be taken, false otherwise
      • takeScreenshot

        public void takeScreenshot()
        Description copied from interface: SnapshotControl
        Take a snapshot of the browser. By default the file will be a png named by the current timestamp.
        Specified by:
        takeScreenshot in interface SnapshotControl
      • takeScreenshot

        public void takeScreenshot​(java.lang.String fileName)
        Description copied from interface: SnapshotControl
        Take a snapshot of the browser into a file given by the fileName param.
        Specified by:
        takeScreenshot in interface SnapshotControl
        Parameters:
        fileName - file name for screenshot
      • goTo

        public <P extends FluentPage> P goTo​(P page)
        Description copied from interface: NavigationControl
        Open the page, using the url defined in the page
        Specified by:
        goTo in interface NavigationControl
        Type Parameters:
        P - Type of FluentPage
        Parameters:
        page - page to open
        Returns:
        Opened page.
        See Also:
        FluentPage.getUrl()
      • goTo

        public void goTo​(java.lang.String url)
        Description copied from interface: NavigationControl
        Open the url page
        Specified by:
        goTo in interface NavigationControl
        Parameters:
        url - page URL to visit
      • goToInNewTab

        public void goToInNewTab​(java.lang.String url)
        Description copied from interface: NavigationControl
        Open the url page in a new tab
        Specified by:
        goToInNewTab in interface NavigationControl
        Parameters:
        url - the url of the page
      • switchTo

        public void switchTo​(FluentList<? extends FluentWebElement> elements)
        Description copied from interface: NavigationControl
        Switch to the first selected Element (if element is null or not an iframe, or doesn't have an id then switch to the default)
        Specified by:
        switchTo in interface NavigationControl
        Parameters:
        elements - fluent list of fluent web elements
      • switchTo

        public void switchTo​(FluentWebElement element)
        Description copied from interface: NavigationControl
        Switch to the selected Element (if element is null or not an iframe, or doesn't have an id then switch to the default)
        Specified by:
        switchTo in interface NavigationControl
        Parameters:
        element - fluent web element to switch to
      • pageSource

        public java.lang.String pageSource()
        Description copied from interface: NavigationControl
        Return the source of the page
        Specified by:
        pageSource in interface NavigationControl
        Returns:
        source of the page under test
      • getCookies

        public java.util.Set<org.openqa.selenium.Cookie> getCookies()
        Description copied from interface: NavigationControl
        return the cookies as a set
        Specified by:
        getCookies in interface NavigationControl
        Returns:
        set of cookies
      • getCookie

        public org.openqa.selenium.Cookie getCookie​(java.lang.String name)
        Description copied from interface: NavigationControl
        return the corresponding cookie given a name
        Specified by:
        getCookie in interface NavigationControl
        Parameters:
        name - cookie name
        Returns:
        cookie selected by name
      • url

        public java.lang.String url()
        Description copied from interface: NavigationControl
        Return the url of the page. If a base url is provided, the current url will be relative to that base url.
        Specified by:
        url in interface NavigationControl
        Returns:
        current URL
      • css

        public CssSupport css()
        Description copied from interface: CssControl
        Features related to CSS loaded in the active page.
        Specified by:
        css in interface CssControl
        Returns:
        a CssSupport instance
      • inject

        public ContainerContext inject​(java.lang.Object container)
        Description copied from interface: FluentInjectControl
        Inject object with FluentLenium resources.
        Specified by:
        inject in interface FluentInjectControl
        Parameters:
        container - container to inject with FluentLenium resources
        Returns:
        The container context related to the injected container
      • injectComponent

        public ContainerContext injectComponent​(java.lang.Object componentContainer,
                                                java.lang.Object parentContainer,
                                                org.openqa.selenium.SearchContext context)
        Description copied from interface: FluentInjectControl
        Inject object with FluentLenium resources, using given search context and parent container.
        Specified by:
        injectComponent in interface FluentInjectControl
        Parameters:
        componentContainer - container to inject with FluentLenium resources
        parentContainer - parent container
        context - search context to use for injection
        Returns:
        The container context related to the injected container
      • newFluent

        public FluentWebElement newFluent​(org.openqa.selenium.WebElement element)
        Description copied from interface: ComponentInstantiator
        Create and register a new FluentWebElement from the given WebElement.
        Specified by:
        newFluent in interface ComponentInstantiator
        Parameters:
        element - wrapped element
        Returns:
        new instance of the component
      • newComponent

        public <T> T newComponent​(java.lang.Class<T> componentClass,
                                  org.openqa.selenium.WebElement element)
        Description copied from interface: ComponentInstantiator
        Create and register a new component of the provided type from the given WebElement.
        Specified by:
        newComponent in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - type of the component
        element - wrapped element
        Returns:
        new instance of the component
      • asFluentList

        public FluentList<FluentWebElement> asFluentList​(java.lang.Iterable<org.openqa.selenium.WebElement> elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new fluent list from the argument collection of WebElements.
        Specified by:
        asFluentList in interface ComponentInstantiator
        Parameters:
        elements - list of elements
        Returns:
        new list of fluent web element
      • asFluentList

        public FluentList<FluentWebElement> asFluentList​(java.util.List<org.openqa.selenium.WebElement> elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new fluent list from the argument list of WebElements.
        Specified by:
        asFluentList in interface ComponentInstantiator
        Parameters:
        elements - list of elements
        Returns:
        new list of fluent web element
      • newFluentList

        public <T extends FluentWebElementFluentList<T> newFluentList​(java.lang.Class<T> componentClass)
        Description copied from interface: ComponentInstantiator
        Create and register an empty fluent list of the provided type.
        Specified by:
        newFluentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - class of the component
        Returns:
        new list of fluent web element
      • newFluentList

        public <T extends FluentWebElementFluentList<T> newFluentList​(java.lang.Class<T> componentClass,
                                                                        T... elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new fluent list.
        Specified by:
        newFluentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - class of the component
        elements - list of elements
        Returns:
        new list of fluent web element
      • newFluentList

        public <T extends FluentWebElementFluentList<T> newFluentList​(java.lang.Class<T> componentClass,
                                                                        java.util.List<T> elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new fluent list.
        Specified by:
        newFluentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - class of the component
        elements - list of elements
        Returns:
        new list of fluent web element
      • asFluentList

        public <T extends FluentWebElementFluentList<T> asFluentList​(java.lang.Class<T> componentClass,
                                                                       org.openqa.selenium.WebElement... elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new fluent list.
        Specified by:
        asFluentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - class of the component
        elements - list of elements
        Returns:
        new list of fluent web element
      • asFluentList

        public <T extends FluentWebElementFluentList<T> asFluentList​(java.lang.Class<T> componentClass,
                                                                       java.lang.Iterable<org.openqa.selenium.WebElement> elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new fluent list.
        Specified by:
        asFluentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - class of the component
        elements - list of elements
        Returns:
        new list of fluent web element
      • asFluentList

        public <T extends FluentWebElementFluentList<T> asFluentList​(java.lang.Class<T> componentClass,
                                                                       java.util.List<org.openqa.selenium.WebElement> elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new fluent list.
        Specified by:
        asFluentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - class of the component
        elements - list of elements
        Returns:
        new list of fluent web element
      • newComponentList

        public <T> ComponentList<T> newComponentList​(java.lang.Class<T> componentClass)
        Description copied from interface: ComponentInstantiator
        Create and register an empty list of component.
        Specified by:
        newComponentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - type of the component
        Returns:
        new list of components
      • asComponentList

        public <T> ComponentList<T> asComponentList​(java.lang.Class<T> componentClass,
                                                    org.openqa.selenium.WebElement... elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given element iterable.
        Specified by:
        asComponentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - type of the component
        elements - elements
        Returns:
        new list of components
      • asComponentList

        public <T> ComponentList asComponentList​(java.lang.Class<T> componentClass,
                                                 java.lang.Iterable<org.openqa.selenium.WebElement> elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given element iterable.
        Specified by:
        asComponentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - type of the component
        elements - elements
        Returns:
        new list of components
      • asComponentList

        public <T> ComponentList<T> asComponentList​(java.lang.Class<T> componentClass,
                                                    java.util.List<org.openqa.selenium.WebElement> elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given element iterable.
        Specified by:
        asComponentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - type of the component
        elements - elements
        Returns:
        new list of components
      • newComponentList

        public <T> ComponentList<T> newComponentList​(java.lang.Class<T> componentClass,
                                                     T... componentsList)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given component list.
        Specified by:
        newComponentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - type of the component
        componentsList - components list
        Returns:
        new list of components
      • newComponentList

        public <T> ComponentList<T> newComponentList​(java.lang.Class<T> componentClass,
                                                     java.util.List<T> componentsList)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given component list.
        Specified by:
        newComponentList in interface ComponentInstantiator
        Type Parameters:
        T - type of the component
        Parameters:
        componentClass - type of the component
        componentsList - components list
        Returns:
        new list of components
      • newComponentList

        public <L extends java.util.List<T>,​T> L newComponentList​(java.lang.Class<L> listClass,
                                                                        java.lang.Class<T> componentClass)
        Description copied from interface: ComponentInstantiator
        Create and register an empty list of component.
        Specified by:
        newComponentList in interface ComponentInstantiator
        Type Parameters:
        L - type of the list
        T - type of the component
        Parameters:
        listClass - type of the list
        componentClass - type of the component
        Returns:
        new list of components
      • asComponentList

        public <L extends java.util.List<T>,​T> L asComponentList​(java.lang.Class<L> listClass,
                                                                       java.lang.Class<T> componentClass,
                                                                       org.openqa.selenium.WebElement... elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given element iterable.
        Specified by:
        asComponentList in interface ComponentInstantiator
        Type Parameters:
        L - type of the list
        T - type of the component
        Parameters:
        listClass - type of the list
        componentClass - type of the component
        elements - elements
        Returns:
        new list of components
      • asComponentList

        public <L extends java.util.List<T>,​T> L asComponentList​(java.lang.Class<L> listClass,
                                                                       java.lang.Class<T> componentClass,
                                                                       java.lang.Iterable<org.openqa.selenium.WebElement> elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given element iterable.
        Specified by:
        asComponentList in interface ComponentInstantiator
        Type Parameters:
        L - type of the list
        T - type of the component
        Parameters:
        listClass - type of the list
        componentClass - type of the component
        elements - elements
        Returns:
        new list of components
      • asComponentList

        public <L extends java.util.List<T>,​T> L asComponentList​(java.lang.Class<L> listClass,
                                                                       java.lang.Class<T> componentClass,
                                                                       java.util.List<org.openqa.selenium.WebElement> elements)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given element iterable.
        Specified by:
        asComponentList in interface ComponentInstantiator
        Type Parameters:
        L - type of the list
        T - type of the component
        Parameters:
        listClass - type of the list
        componentClass - type of the component
        elements - elements
        Returns:
        new list of components
      • newComponentList

        public <L extends java.util.List<T>,​T> L newComponentList​(java.lang.Class<L> listClass,
                                                                        java.lang.Class<T> componentClass,
                                                                        T... componentsList)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given component list.
        Specified by:
        newComponentList in interface ComponentInstantiator
        Type Parameters:
        L - type of the list
        T - type of the component
        Parameters:
        listClass - type of the list
        componentClass - type of the component
        componentsList - components list
        Returns:
        new list of components
      • newComponentList

        public <L extends java.util.List<T>,​T> L newComponentList​(java.lang.Class<L> listClass,
                                                                        java.lang.Class<T> componentClass,
                                                                        java.util.List<T> componentsList)
        Description copied from interface: ComponentInstantiator
        Create and register a new list of component from the given component list.
        Specified by:
        newComponentList in interface ComponentInstantiator
        Type Parameters:
        L - type of the list
        T - type of the component
        Parameters:
        listClass - type of the list
        componentClass - type of the component
        componentsList - components list
        Returns:
        new list of components
      • isComponentClass

        public boolean isComponentClass​(java.lang.Class<?> componentClass)
        Description copied from interface: ComponentInstantiator
        Check if this class is a component class.
        Specified by:
        isComponentClass in interface ComponentInstantiator
        Parameters:
        componentClass - class to check
        Returns:
        true if this class is a component class, false otherwise
      • isComponentListClass

        public boolean isComponentListClass​(java.lang.Class<? extends java.util.List<?>> componentListClass)
        Description copied from interface: ComponentInstantiator
        Check if this class is a component list class.
        Specified by:
        isComponentListClass in interface ComponentInstantiator
        Parameters:
        componentListClass - class to check
        Returns:
        true if this class is a component list class, false otherwise
      • capabilities

        public org.openqa.selenium.Capabilities capabilities()
        Description copied from interface: CapabilitiesControl
        Get the actual capabilities of the underlying Selenium WebDriver.
        Specified by:
        capabilities in interface CapabilitiesControl
        Returns:
        actual capabilities.
        See Also:
        HasCapabilities.getCapabilities()
      • waitAndClick

        public FluentWebElement waitAndClick​(java.time.Duration duration)
        Description copied from interface: FluentActions
        Helper method that: a) waits for element b) scrolls centrally into it c) clicks on it
        Specified by:
        waitAndClick in interface FluentActions<FluentWebElement,​FluentWebElement>
        Parameters:
        duration - - enabled to override default 5 seconds of waiting
        Returns:
        this object reference to chain methods calls
      • now

        public FluentWebElement now​(boolean force)
        Description copied from interface: FluentProxyState
        Search for the element now, actually performing the search on the WebDriver.

        It has no effect if the element is already loaded.

        Specified by:
        now in interface FluentProxyState<FluentWebElement>
        Parameters:
        force - force the search even if element is already loaded
        Returns:
        this object reference to chain calls.
      • axes

        @Deprecated
        public Dom axes()
        Deprecated.
        Use dom() instead.
        XPath Axes accessor (parent, ancestors, preceding, following, ...).
        Returns:
        object to perform XPath Axes transformations.
      • dom

        public Dom dom()
        XPath Axes accessor (parent, ancestors, preceding, following, ...).
        Returns:
        object to perform XPath Axes transformations.
      • conditions

        public FluentConditions conditions()
        Get a conditions object used to verify condition on this element.
        Returns:
        conditions object
      • await

        public FluentWaitElement await()
        Build a wait object to wait for a condition of this element.
        Returns:
        a wait object
      • mouse

        public MouseElementActions mouse()
        Execute mouse actions on the element
        Returns:
        mouse actions object
      • keyboard

        public KeyboardElementActions keyboard()
        Execute keyboard actions on the element
        Returns:
        keyboard actions object
      • as

        public <T> T as​(java.lang.Class<T> componentClass)
        Wrap all underlying elements in a component.
        Type Parameters:
        T - type of component
        Parameters:
        componentClass - component class
        Returns:
        element as component.
      • clear

        public FluentWebElement clear()
        Clear the element
        Returns:
        fluent web element
      • clearReactInput

        public FluentWebElement clearReactInput()
        Clear React input using Backspace only
        Returns:
        fluent web element
      • name

        public java.lang.String name()
        return the name of the element
        Returns:
        name of the element
      • attribute

        public java.lang.String attribute​(java.lang.String name)
        return any value of custom attribute (generated=true will return "true" if attribute("generated") is called.
        Parameters:
        name - custom attribute name
        Returns:
        name value
        See Also:
        WebElement.getAttribute(String)
      • cssValue

        public java.lang.String cssValue​(java.lang.String propertyName)
        Get the value of a given CSS property.
        Parameters:
        propertyName - the css property name of the element
        Returns:
        The current, computed value of the property.
        See Also:
        WebElement.getCssValue(String)
      • id

        public java.lang.String id()
        return the id of the elements
        Returns:
        id of element
      • text

        public java.lang.String text()
        return the visible text of the element
        Returns:
        text of element
        See Also:
        WebElement.getText()
      • textContent

        public java.lang.String textContent()
        return the text content of the element (even invisible through textContent attribute)
        Returns:
        text content of element
      • value

        public java.lang.String value()
        return the value of the elements
        Returns:
        value of attribute
      • displayed

        public boolean displayed()
        return true if the element is displayed, other way return false
        Returns:
        boolean value of displayed check
        See Also:
        WebElement.isDisplayed()
      • enabled

        public boolean enabled()
        return true if the element is enabled, other way return false
        Returns:
        boolean value of enabled check
        See Also:
        WebElement.isEnabled()
      • selected

        public boolean selected()
        return true if the element is selected, other way false
        Returns:
        boolean value of selected check
        See Also:
        WebElement.isSelected()
      • clickable

        public boolean clickable()
        Check that this element is visible and enabled such that you can click it.
        Returns:
        true if the element can be clicked, false otherwise.
      • stale

        public boolean stale()
        Check that this element is no longer attached to the DOM.
        Returns:
        false is the element is still attached to the DOM, true otherwise.
      • tagName

        public java.lang.String tagName()
        return the tag name
        Returns:
        string value of tag name
        See Also:
        WebElement.getTagName()
      • getElement

        public org.openqa.selenium.WebElement getElement()
        return the webElement
        Returns:
        web element
      • getWrappedElement

        public org.openqa.selenium.WebElement getWrappedElement()
        Specified by:
        getWrappedElement in interface org.openqa.selenium.WrapsElement
      • size

        public org.openqa.selenium.Dimension size()
        return the size of the element
        Returns:
        dimension/size of element
        See Also:
        WebElement.getSize()
      • el

        public FluentWebElement el​(org.openqa.selenium.WebElement rawElement)
        Description copied from interface: SearchControl
        Wrap existing raw selenium element into an element.
        Specified by:
        el in interface SearchControl<FluentWebElement>
        Parameters:
        rawElement - raw selenium element
        Returns:
        element
      • html

        public java.lang.String html()
        Get the HTML of a the element
        Returns:
        the underlying html content
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • noHook

        public <R> R noHook​(java.lang.Class<? extends FluentHook> hook,
                            java.util.function.Function<FluentWebElement,​R> function)
        Description copied from interface: HookControl
        Invoke a function with no hook.
        Specified by:
        noHook in interface HookControl<FluentWebElement>
        Type Parameters:
        R - return type
        Parameters:
        hook - hook class to disable
        function - function to invoke
        Returns:
        return value of the given function
      • withHook

        public <O,​H extends FluentHook<O>> FluentWebElement withHook​(java.lang.Class<H> hook,
                                                                           O options)
        Description copied from interface: HookControl
        Enable a hook with given options.
        Specified by:
        withHook in interface HookControl<FluentWebElement>
        Type Parameters:
        O - Type of the hook
        H - Type of the hook options
        Parameters:
        hook - hook class to enable
        options - hook options to apply
        Returns:
        this object reference to chain calls
      • withHook

        public <O,​H extends FluentHook<O>> FluentWebElement withHook​(java.lang.Class<H> hook)
        Description copied from interface: HookControl
        Enable a hook with default options.
        Specified by:
        withHook in interface HookControl<FluentWebElement>
        Type Parameters:
        O - Type of the hook
        H - Type of the hook options
        Parameters:
        hook - hook class to enable
        Returns:
        this object reference to chain calls
      • noHook

        public <R> R noHook​(java.util.function.Function<FluentWebElement,​R> function)
        Description copied from interface: HookControl
        Invoke a function with no hook.
        Specified by:
        noHook in interface HookControl<FluentWebElement>
        Type Parameters:
        R - return type
        Parameters:
        function - function to invoke
        Returns:
        return value of the given function
      • scrollIntoView

        public FluentWebElement scrollIntoView​(boolean alignWithTop)
        Description copied from interface: FluentJavascriptActions
        Scrolls the current element into the visible area of the browser window.
        Specified by:
        scrollIntoView in interface FluentJavascriptActions
        Parameters:
        alignWithTop - If true, the top of the element will be aligned to the top of the visible area of the scrollable ancestor. If false, the bottom of the element will be aligned to the bottom of the visible area of the scrollable ancestor.
        Returns:
        this object reference to chain methods calls
        See Also:
        element.scrollIntoView
      • modifyAttribute

        public FluentWebElement modifyAttribute​(java.lang.String attributeName,
                                                java.lang.String attributeValue)
        Description copied from interface: FluentJavascriptActions
        Modifies element attributes
        Specified by:
        modifyAttribute in interface FluentJavascriptActions
        Parameters:
        attributeName - attribute to be change
        attributeValue - new attribute value
        Returns:
        this object reference to chain methods calls
      • withLabelHint

        public FluentWebElement withLabelHint​(java.lang.String... labelHint)
        Description copied from interface: FluentLabel
        Add a label hint that will be appended to the representation of this object for error message.
        Specified by:
        withLabelHint in interface FluentLabel<FluentWebElement>
        Parameters:
        labelHint - label hints to add
        Returns:
        reference to this object to chain calls
      • withLabel

        public FluentWebElement withLabel​(java.lang.String label)
        Description copied from interface: FluentLabel
        Apply a label that will be displayed as the representation of this object for error message.
        Specified by:
        withLabel in interface FluentLabel<FluentWebElement>
        Parameters:
        label - label to use
        Returns:
        reference to this object to chain calls