Class FluentWebElement

java.lang.Object
io.fluentlenium.core.domain.Component
io.fluentlenium.core.domain.FluentWebElement
All Implemented Interfaces:
FluentActions<FluentWebElement, FluentWebElement>, FluentJavascriptActions, AlertControl, CapabilitiesControl, ComponentInstantiator, CssControl, EventsControl, HookControl<FluentWebElement>, FluentInjectControl, FluentLabel<FluentWebElement>, NavigationControl, FluentProxyState<FluentWebElement>, JavascriptControl, SearchControl<FluentWebElement>, SeleniumDriverControl, SnapshotControl, org.openqa.selenium.WrapsElement

Wraps a Selenium WebElement. It provides an enhanced API to control selenium element.
  • Constructor Details

    • 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 Details

    • getFluentControl

      public FluentControl getFluentControl()
    • unshadowAllFields

      public void unshadowAllFields()
    • getLabel

      public FluentLabel<FluentWebElement> getLabel()
    • executeScript

      public FluentJavascript executeScript (String script, 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 (String script, 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 (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 File 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
      Returns:
      the screenshot file
    • takeScreenshot

      public File takeScreenshot (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
      Returns:
      the screenshot file
    • events

      public EventsRegistry events()
      Description copied from interface: EventsControl
      Retrieves an event registry to register event listeners.
      Specified by:
      events in interface EventsControl
      Returns:
      the event registry.
    • 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:
    • goTo

      public void goTo (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 (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
    • switchTo

      public void switchTo()
      Description copied from interface: NavigationControl
      Switch to the default element
      Specified by:
      switchTo in interface NavigationControl
    • switchToDefault

      public void switchToDefault()
      Description copied from interface: NavigationControl
      Switch to the default element
      Specified by:
      switchToDefault in interface NavigationControl
    • pageSource

      public 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
    • window

      public WindowAction window()
      Description copied from interface: NavigationControl
      Exposes methods on browser window
      Specified by:
      window in interface NavigationControl
      Returns:
      Window actions
    • getCookies

      public 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 (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 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
    • getDriver

      public org.openqa.selenium.WebDriver getDriver()
      Description copied from interface: SeleniumDriverControl
      Get the actual underlying Selenium WebDriver.

      To customize the WebDriver, you should configure FluentControl.getWebDriver() or override IFluentAdapter.newWebDriver().

      This method can't be overridden to customize the WebDriver.

      Specified by:
      getDriver in interface SeleniumDriverControl
      Returns:
      The actual underlying Selenium WebDriver
    • getAppiumDriver

      public io.appium.java_client.AppiumDriver getAppiumDriver()
      Description copied from interface: SeleniumDriverControl
      Get the actual underlying AppiumDriver.

      To customize the WebDriver, you should configure FluentControl.getWebDriver() or override IFluentAdapter.newWebDriver().

      This method can't be overridden to customize the AppiumDriver.

      Specified by:
      getAppiumDriver in interface SeleniumDriverControl
      Returns:
      The actual underlying AppiumDriver
    • 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 (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 (Object componentContainer, 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
    • newInstance

      public <T> T newInstance (Class<T> cls)
      Description copied from interface: FluentInjectControl
      Creates a new instance of a class inject it.
      Specified by:
      newInstance in interface FluentInjectControl
      Type Parameters:
      T - type of the object
      Parameters:
      cls - class of the object to create
      Returns:
      new container instance
      See Also:
    • 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 (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
    • newFluentList

      public FluentList<FluentWebElement> newFluentList()
      Description copied from interface: ComponentInstantiator
      Create and register an empty fluent list.
      Specified by:
      newFluentList in interface ComponentInstantiator
      Returns:
      new list of fluent web element
    • newFluentList

      public FluentList<FluentWebElement> newFluentList (FluentWebElement... elements)
      Description copied from interface: ComponentInstantiator
      Create and register a new fluent list from the argument FluentWebElements.
      Specified by:
      newFluentList in interface ComponentInstantiator
      Parameters:
      elements - list of elements
      Returns:
      new list of fluent web element
    • newFluentList

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

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

      public FluentList<FluentWebElement> asFluentList (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 (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 FluentWebElement> FluentList<T> newFluentList (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 FluentWebElement> FluentList<T> newFluentList (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 FluentWebElement> FluentList<T> newFluentList (Class<T> componentClass, 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 FluentWebElement> FluentList<T> asFluentList (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 FluentWebElement> FluentList<T> asFluentList (Class<T> componentClass, 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 FluentWebElement> FluentList<T> asFluentList (Class<T> componentClass, 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 (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 (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 (Class<T> componentClass, 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 (Class<T> componentClass, 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 (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 (Class<T> componentClass, 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 List<T>, T> L newComponentList (Class<L> listClass, 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 List<T>, T> L asComponentList (Class<L> listClass, 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 List<T>, T> L asComponentList (Class<L> listClass, Class<T> componentClass, 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 List<T>, T> L asComponentList (Class<L> listClass, Class<T> componentClass, 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 List<T>, T> L newComponentList (Class<L> listClass, 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 List<T>, T> L newComponentList (Class<L> listClass, Class<T> componentClass, 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 (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 (Class<? extends 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()
    • click

      public FluentWebElement click()
      Description copied from interface: FluentActions
      Perform a click.
      Specified by:
      click in interface FluentActions<FluentWebElement, FluentWebElement>
      Returns:
      this object reference to chain methods calls
      See Also:
      • WebElement.click()
    • doubleClick

      public FluentWebElement doubleClick()
      Description copied from interface: FluentActions
      Perform a double click.
      Specified by:
      doubleClick in interface FluentActions<FluentWebElement, FluentWebElement>
      Returns:
      this object reference to chain methods calls
    • contextClick

      public FluentWebElement contextClick()
      Description copied from interface: FluentActions
      Perform a context click.
      Specified by:
      contextClick in interface FluentActions<FluentWebElement, FluentWebElement>
      Returns:
      this object reference to chain methods calls
    • waitAndClick

      public FluentWebElement waitAndClick()
      Description copied from interface: FluentActions
      Helper method that: a) waits at most 5 seconds for element b) scrolls centrally into it c) clicks on it
      Specified by:
      waitAndClick in interface FluentActions<FluentWebElement, FluentWebElement>
      Returns:
      this object reference to chain methods calls
    • waitAndClick

      public FluentWebElement waitAndClick (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
    • hoverOver

      public FluentWebElement hoverOver()
      Description copied from interface: FluentActions
      Hovers the mouse over the current element.

      By default, this is a convenience method for calling element.mouse().moveToElement().

      Specified by:
      hoverOver in interface FluentActions<FluentWebElement, FluentWebElement>
      Returns:
      the current element
    • present

      public boolean present()
      Description copied from interface: FluentProxyState
      Check if the element is present in the DOM.
      Specified by:
      present in interface FluentProxyState<FluentWebElement>
      Returns:
      true if the element is present, false otherwise
    • now

      public FluentWebElement now()
      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>
      Returns:
      this object reference to chain 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.
    • reset

      public FluentWebElement reset()
      Description copied from interface: FluentProxyState
      Reset the element. Subsequent calls will perform the search again, instead of using the cached result.
      Specified by:
      reset in interface FluentProxyState<FluentWebElement>
      Returns:
      this object reference to chain calls.
    • loaded

      public boolean loaded()
      Description copied from interface: FluentProxyState
      Check if the element is loaded.
      Specified by:
      loaded in interface FluentProxyState<FluentWebElement>
      Returns:
      true if the element is loaded, false otherwise
    • 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 (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
    • submit

      public FluentWebElement submit()
      Submit the element
      Specified by:
      submit in interface FluentActions<FluentWebElement, FluentWebElement>
      Returns:
      fluent web element
      See Also:
      • WebElement.submit()
    • write

      public FluentWebElement write (String... text)
      Set the text element
      Specified by:
      write in interface FluentActions<FluentWebElement, FluentWebElement>
      Parameters:
      text - value to set
      Returns:
      fluent web element
      See Also:
      • WebElement.sendKeys(CharSequence...)
    • name

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

      public String attribute (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 String cssValue (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 String id()
      return the id of the elements
      Returns:
      id of element
    • text

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

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

      public 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 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()
    • asList

      public FluentList<FluentWebElement> asList()
      Converts this element as a single element list.
      Returns:
      list of element
    • find

      public FluentList<FluentWebElement> find (org.openqa.selenium.By locator, SearchFilter... filters)
      Description copied from interface: SearchControl
      Find list of elements with Selenium locator and filters.
      Specified by:
      find in interface SearchControl<FluentWebElement>
      Parameters:
      locator - elements locator
      filters - filters set
      Returns:
      list of elements
    • find

      public FluentList<FluentWebElement> find (String selector, SearchFilter... filters)
      Description copied from interface: SearchControl
      Find list of elements with CSS selector and filters.
      Specified by:
      find in interface SearchControl<FluentWebElement>
      Parameters:
      selector - CSS selector
      filters - set of filters
      Returns:
      list of element
    • find

      public FluentList<FluentWebElement> find (SearchFilter... filters)
      Description copied from interface: SearchControl
      Find list of elements with filters.
      Specified by:
      find in interface SearchControl<FluentWebElement>
      Parameters:
      filters - set of filters in the current context
      Returns:
      list of elements
    • find

      public FluentList<FluentWebElement> find (List<org.openqa.selenium.WebElement> rawElements)
      Description copied from interface: SearchControl
      Wrap raw selenium elements into a list of elements.
      Specified by:
      find in interface SearchControl<FluentWebElement>
      Parameters:
      rawElements - raw selenium elements
      Returns:
      list of element
    • 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 String html()
      Get the HTML of a the element
      Returns:
      the underlying html content
    • fill

      public Fill<FluentWebElement> fill()
      Description copied from interface: FluentActions
      Construct a Fill Builder in order to allow easy fill of visible input fields.
      Specified by:
      fill in interface FluentActions<FluentWebElement, FluentWebElement>
      Returns:
      Fill builder
    • fillSelect

      public FillSelect<FluentWebElement> fillSelect()
      Description copied from interface: FluentActions
      Construct a Fill Select Builder in order to allow easy fill of visible input fields.
      Specified by:
      fillSelect in interface FluentActions<FluentWebElement, FluentWebElement>
      Returns:
      Fill select builder
    • frame

      public FluentWebElement frame()
      Description copied from interface: FluentActions
      Select a frame using this element.
      Specified by:
      frame in interface FluentActions<FluentWebElement, FluentWebElement>
      Returns:
      this object reference to chain methods calls.
    • optional

      public Optional<FluentWebElement> optional()
      Description copied from interface: FluentProxyState
      Builds an optional. If underlying element is lazy, search will be perfomed when invoking this method.
      Specified by:
      optional in interface FluentProxyState<FluentWebElement>
      Returns:
      An optional wrapping this.
      See Also:
    • toString

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

      public <R> R noHook (Class<? extends FluentHook> hook, 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 (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 (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 FluentWebElement noHook (Class<? extends FluentHook>... hooks)
      Description copied from interface: HookControl
      Disable given hook from actual element.
      Specified by:
      noHook in interface HookControl<FluentWebElement>
      Parameters:
      hooks - hook classes to disable
      Returns:
      this object reference to chain calls
    • noHook

      public <R> R noHook (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
    • noHookInstance

      public FluentWebElement noHookInstance (Class<? extends FluentHook>... hooks)
      Description copied from interface: HookControl
      Creates a new element locator instance with given hook disabled.
      Specified by:
      noHookInstance in interface HookControl<FluentWebElement>
      Parameters:
      hooks - hook classes to disable
      Returns:
      new element locator with hook disabled.
    • restoreHooks

      public FluentWebElement restoreHooks()
      Description copied from interface: HookControl
      Retore hooks that were defined initially.
      Specified by:
      restoreHooks in interface HookControl<FluentWebElement>
      Returns:
      this object reference to chain calls
    • noHookInstance

      public FluentWebElement noHookInstance()
      Description copied from interface: HookControl
      Creates a new element locator instance with all hooks disabled.
      Specified by:
      noHookInstance in interface HookControl<FluentWebElement>
      Returns:
      new element locator with hook disabled.
    • noHook

      public FluentWebElement noHook()
      Description copied from interface: HookControl
      Disable all hooks from actual element.
      Specified by:
      noHook in interface HookControl<FluentWebElement>
      Returns:
      this object reference to chain calls
    • scrollToCenter

      public FluentWebElement scrollToCenter()
      Description copied from interface: FluentJavascriptActions
      Scrolls center of the current element into the visible area of the browser window, respecting window size.
      Specified by:
      scrollToCenter in interface FluentJavascriptActions
      Returns:
      this object reference to chain methods calls
    • scrollIntoView

      public FluentWebElement scrollIntoView()
      Description copied from interface: FluentJavascriptActions
      Scrolls the current element into the visible area of the browser window.
      Specified by:
      scrollIntoView in interface FluentJavascriptActions
      Returns:
      this object reference to chain methods calls
      See Also:
    • 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:
    • modifyAttribute

      public FluentWebElement modifyAttribute (String attributeName, 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 (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 (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