Interface SelenideElement

All Superinterfaces:
org.openqa.selenium.interactions.Locatable, org.openqa.selenium.SearchContext, org.openqa.selenium.TakesScreenshot, org.openqa.selenium.WebElement, org.openqa.selenium.WrapsDriver, org.openqa.selenium.WrapsElement

@ParametersAreNonnullByDefault public interface SelenideElement extends org.openqa.selenium.WebElement, org.openqa.selenium.WrapsDriver, org.openqa.selenium.WrapsElement, org.openqa.selenium.interactions.Locatable, org.openqa.selenium.TakesScreenshot
Wrapper around WebElement with additional methods like shouldBe(Condition...) and shouldHave(Condition...)
  • Method Details

    • setValue

      @Nonnull @CanIgnoreReturnValue SelenideElement setValue(@Nullable String text)
      Implementation details:

      If Configuration.fastSetValue is true, sets value by javascript instead of using Selenium built-in "sendKey" function and trigger "focus", "keydown", "keypress", "input", "keyup", "change" events.

      In other case behavior will be:

       1. WebElement.clear()
       2. WebElement.sendKeys(text)
       3. Trigger change event
       
      Parameters:
      text - Any text to enter into the text field or set by value for select/radio.
      See Also:
    • val

      @Nonnull @CanIgnoreReturnValue SelenideElement val(@Nullable String text)
      See Also:
    • setValue

      @Nonnull @CanIgnoreReturnValue SelenideElement setValue(SetValueOptions text)
      Since:
      6.5.0
      See Also:
    • append

      @Nonnull @CanIgnoreReturnValue SelenideElement append(String text)
      Append given text to the text field and trigger "change" event.

      Implementation details: This is the same as

         1. WebElement.sendKeys(text)
         2. Trigger change event
       
      Parameters:
      text - Any text to append into the text field.
      See Also:
    • clear

      @CanIgnoreReturnValue void clear()
      Clear the input field

      Basically it's the same as WebElement.clear(), but it works. :)

      Specified by:
      clear in interface org.openqa.selenium.WebElement
      See Also:
    • pressEnter

      @Nonnull @CanIgnoreReturnValue SelenideElement pressEnter()
      Press ENTER. Useful for input field and textareas:
        $("query").val("Aikido techniques").pressEnter();

      Implementation details: Check that element is displayed and execute

        WebElement.sendKeys(Keys.ENTER)
      See Also:
    • pressTab

      @Nonnull @CanIgnoreReturnValue SelenideElement pressTab()
      Press TAB. Useful for input field and textareas:
        $("#to").val("stiven@seagal.com").pressTab();

      Implementation details: Check that element is displayed and execute

        WebElement.sendKeys(Keys.TAB)
      See Also:
    • pressEscape

      @Nonnull @CanIgnoreReturnValue SelenideElement pressEscape()
      Press ESCAPE. Useful for input field and textareas:
        $(".edit").click().pressEscape();

      Implementation details: Check that element is displayed and execute

        WebElement.sendKeys(Keys.ESCAPE)
      See Also:
    • getText

      @CheckReturnValue @Nonnull String getText()
      Get the visible text of this element, including sub-elements without leading/trailing whitespace. NB! For "select", returns text(s) of selected option(s).
      Specified by:
      getText in interface org.openqa.selenium.WebElement
      Returns:
      The innerText of this element
      See Also:
    • getAlias

      @CheckReturnValue @Nullable String getAlias()
      Element alias, which can be set with as(String text)
      Returns:
      Alias of this element or null, if element alias is not set
      Since:
      5.20.0
      See Also:
    • text

      @CheckReturnValue @Nonnull String text()
      Short form of getText()
      See Also:
    • getOwnText

      @CheckReturnValue @Nonnull String getOwnText()
      Get the text of the element WITHOUT children.
      See Also:
    • innerText

      @CheckReturnValue @Nonnull String innerText()
      Get the text code of the element with children.

      It can be used to get the text of a hidden element.

      Short form of getAttribute("textContent") or getAttribute("innerText") depending on browser.

      See Also:
    • innerHtml

      @CheckReturnValue @Nonnull String innerHtml()
      Get the HTML code of the element with children.

      It can be used to get the html of a hidden element.

      Short form of getAttribute("innerHTML")

      See Also:
    • attr

      @CheckReturnValue @Nullable String attr(String attributeName)
      Get the attribute of the element. Synonym for getAttribute(String)
      Returns:
      null if attribute is missing
      See Also:
    • name

      @CheckReturnValue @Nullable String name()
      Get the "name" attribute of the element
      Returns:
      attribute "name" value or null if attribute is missing
      See Also:
    • val

      @CheckReturnValue @Nullable String val()
      Get the "value" attribute of the element Same as getValue()
      Returns:
      attribute "value" value or null if attribute is missing
      See Also:
    • getValue

      @CheckReturnValue @Nullable String getValue()
      Get the "value" attribute of the element
      Returns:
      attribute "value" value or null if attribute is missing
      Since:
      3.1
      See Also:
    • pseudo

      @CheckReturnValue @Nonnull String pseudo(String pseudoElementName, String propertyName)
      Get the property value of the pseudo-element
      Parameters:
      pseudoElementName - pseudo-element name of the element, ":before", ":after", ":first-letter", ":first-line", ":selection"
      propertyName - property name of the pseudo-element
      Returns:
      the property value or "" if the property is missing
      See Also:
    • pseudo

      @CheckReturnValue @Nonnull String pseudo(String pseudoElementName)
      Get content of the pseudo-element
      Parameters:
      pseudoElementName - pseudo-element name of the element, ":before", ":after"
      Returns:
      the content value or "none" if the content is missing
      See Also:
    • selectRadio

      @Nonnull @CanIgnoreReturnValue SelenideElement selectRadio(String value)
      Select radio button
      Parameters:
      value - value of radio button to select
      Returns:
      selected "input type=radio" element
      See Also:
    • data

      @CheckReturnValue @Nullable String data(String dataAttributeName)
      Get value of attribute "data-dataAttributeName"
      See Also:
    • getAttribute

      @Nullable @CheckReturnValue String getAttribute(String name)
      Specified by:
      getAttribute in interface org.openqa.selenium.WebElement
      See Also:
    • getCssValue

      @Nonnull @CheckReturnValue String getCssValue(String propertyName)
      Specified by:
      getCssValue in interface org.openqa.selenium.WebElement
      See Also:
    • exists

      @CheckReturnValue boolean exists()
      Checks if element exists true on the current page.
      Returns:
      false if element is not found, browser is closed or any WebDriver exception happened
      See Also:
    • isDisplayed

      @CheckReturnValue boolean isDisplayed()
      Check if this element exists and visible.
      Specified by:
      isDisplayed in interface org.openqa.selenium.WebElement
      Returns:
      false if element does not exists, is invisible, browser is closed or any WebDriver exception happened.
      See Also:
    • is

      @CheckReturnValue boolean is(Condition condition)
      immediately returns true if element matches given condition Method doesn't wait! WARNING: This method can help implementing crooks, but it is not needed for typical ui tests.
      See Also:
    • has

      @CheckReturnValue boolean has(Condition condition)
      immediately returns true if element matches given condition Method doesn't wait! WARNING: This method can help implementing crooks, but it is not needed for typical ui tests.
      See Also:
    • setSelected

      @Nonnull @CanIgnoreReturnValue SelenideElement setSelected(boolean selected)
      Set checkbox state to CHECKED or UNCHECKED.
      Parameters:
      selected - true for checked and false for unchecked
      See Also:
    • should

      @Nonnull @CanIgnoreReturnValue SelenideElement should(Condition... condition)

      Checks that given element meets all of given conditions.

      IMPORTANT: If element does not match then conditions immediately, waits up to 4 seconds until element meets the conditions. It's extremely useful for dynamic content.

      Timeout is configurable via Configuration.timeout

      For example: $("#errorMessage").should(appear);

      Returns:
      Given element, useful for chaining: $("#errorMessage").should(appear).shouldBe(enabled);
      See Also:
    • should

      @Nonnull @CanIgnoreReturnValue SelenideElement should(Condition condition, Duration timeout)
      Wait until given element meets given condition (with given timeout)
    • shouldHave

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldHave(Condition... condition)

      Synonym for should(com.codeborne.selenide.Condition...). Useful for better readability.

      For example: $("#errorMessage").shouldHave(text("Hello"), text("World"));

      See Also:
    • shouldHave

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldHave(Condition condition, Duration timeout)
      Wait until given element meets given condition (with given timeout)
    • shouldBe

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldBe(Condition... condition)

      Synonym for should(com.codeborne.selenide.Condition...). Useful for better readability.

      For example: $("#errorMessage").shouldBe(visible, enabled);

      See Also:
    • shouldBe

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldBe(Condition condition, Duration timeout)
      Wait until given element meets given condition (with given timeout)
    • shouldNot

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldNot(Condition... condition)

      Checks that given element does not meet given conditions.

      IMPORTANT: If element does match the conditions, waits up to 4 seconds until element does not meet the conditions. It's extremely useful for dynamic content.

      Timeout is configurable via Configuration.timeout

      For example: $("#errorMessage").should(exist);

      See Also:
    • shouldNot

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldNot(Condition condition, Duration timeout)
      Wait until given element meets given condition (with given timeout)
    • shouldNotHave

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldNotHave(Condition... condition)

      Synonym for shouldNot(com.codeborne.selenide.Condition...). Useful for better readability.

      For example: $("#errorMessage").shouldNotHave(text("Exception"), text("Error"));

      See Also:
    • shouldNotHave

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldNotHave(Condition condition, Duration timeout)
      Wait until given element does NOT meet given condition (with given timeout)
    • shouldNotBe

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldNotBe(Condition... condition)

      Synonym for shouldNot(com.codeborne.selenide.Condition...). Useful for better readability.

      For example: $("#errorMessage").shouldNotBe(visible, enabled);

      See Also:
    • shouldNotBe

      @Nonnull @CanIgnoreReturnValue SelenideElement shouldNotBe(Condition condition, Duration timeout)
      Wait until given element does NOT meet given condition (with given timeout)
    • toString

      @CheckReturnValue @Nonnull String toString()
      Displays WebElement in human-readable format. Useful for logging and debugging. Not recommended to use for test verifications.
      Overrides:
      toString in class Object
      Returns:
      e.g. Order has been confirmed
      See Also:
    • as

      @CheckReturnValue @Nonnull SelenideElement as(String alias)
      Give this element a human-readable name Caution: you probably don't need this method. It's always a good idea to have the actual selector instead of "nice" description (which might be misleading or even lying).
      Parameters:
      alias - a human-readable name of this element (null or empty string not allowed)
      Returns:
      this element
      Since:
      5.17.0
      See Also:
    • parent

      @CheckReturnValue @Nonnull SelenideElement parent()
      Get parent element of this element (lazy evaluation) For example, $("td").parent() could give some "tr".
      Returns:
      Parent element
      See Also:
    • sibling

      @CheckReturnValue @Nonnull SelenideElement sibling(int index)
      Get the following sibling element of this element For example, $("td").sibling(0) will give the first following sibling element of "td"
      Parameters:
      index - the index of sibling element
      Returns:
      Sibling element by index
      See Also:
    • preceding

      @CheckReturnValue @Nonnull SelenideElement preceding(int index)
      Get the preceding sibling element of this element For example, $("td").preceding(0) will give the first preceding sibling element of "td"
      Parameters:
      index - the index of sibling element
      Returns:
      Sibling element by index
      See Also:
    • lastChild

      @CheckReturnValue @Nonnull SelenideElement lastChild()
      Get last child element of this element For example, $("tr").lastChild(); could give the last "td".
      See Also:
    • ancestor

      @CheckReturnValue @Nonnull SelenideElement ancestor(String selector)
      Locates the closest ancestor element matching given criteria.
      For example, $("td").ancestor("table") returns the closest "table" element above "td".
      Same as closest("selector", 0) or closest("selector"). Examples:
      $("td").ancestor("table") will find the closest ancestor with tag table
      $("td").ancestor(".container") will find the closest ancestor with CSS class .container
      $("td").ancestor("[data-testid]") will find the closest ancestor with attribute data-testid
      $("td").ancestor("[data-testid=test-value]") will find the closest ancestor with attribute and attribute's value data-testid=test-value
      Parameters:
      selector - Either HTML tag, CSS class, attribute or attribute with value.
      E.g. form, .active, [data-testid], [data-testid=test-value]
      Returns:
      Matching ancestor element
      See Also:
    • ancestor

      @CheckReturnValue @Nonnull SelenideElement ancestor(String selector, int index)
      Locates the Nth ancestor element matching given criteria.
      Examples:
      $("td").ancestor("table", 1) will find the 2nd ancestor with tag table
      $("td").ancestor(".container", 1) will find the 2nd ancestor with CSS class .container
      $("td").ancestor("[data-testid]", 1) will find the 2nd ancestor with attribute data-testid
      $("td").ancestor("[data-testid=test-value]", 1) will find the 2nd ancestor with attribute and attribute's value data-testid=test-value
      Parameters:
      selector - Either HTML tag, CSS class, attribute or attribute with value.
      E.g. form, .active, [data-testid], [data-testid=test-value]
      index - 0...N index of the ancestor. 0 is the closest, 1 is higher up the hierarchy, etc...
      Returns:
      Matching ancestor element
      See Also:
    • closest

      @CheckReturnValue @Nonnull SelenideElement closest(String selector)
      Same as ancestor(String). Locates the closest ancestor element matching given criteria.
      For example, $("td").closest("table") returns the closest "table" element above "td".
      Same as ancestor("selector", 0). Examples:
      $("td").closest("table") will find the closest ancestor with tag table
      $("td").closest(".container") will find the closest ancestor with CSS class .container
      $("td").closest("[data-testid]") will find the closest ancestor with attribute data-testid
      $("td").closest("[data-testid=test-value]") will find the closest ancestor with attribute and attribute's value data-testid=test-value
      Parameters:
      selector - Either HTML tag, CSS class, attribute or attribute with value.
      E.g. form, .active, [data-testid], [data-testid=test-value]
      Returns:
      Matching ancestor element
      See Also:
    • find

      @CheckReturnValue @Nonnull SelenideElement find(String cssSelector)

      Locates the first matching element inside given element

      Short form of webElement.findElement(By.cssSelector(cssSelector))

      See Also:
    • find

      @CheckReturnValue @Nonnull SelenideElement find(String cssSelector, int index)

      Locates the Nth matching element inside given element

      See Also:
    • find

      @CheckReturnValue @Nonnull SelenideElement find(org.openqa.selenium.By selector)
      Same as find(String)
      See Also:
    • find

      @CheckReturnValue @Nonnull SelenideElement find(org.openqa.selenium.By selector, int index)
      See Also:
    • $

      @CheckReturnValue @Nonnull SelenideElement $(String cssSelector)
      Same as find(String)
      See Also:
    • $

      @CheckReturnValue @Nonnull SelenideElement $(String cssSelector, int index)
      See Also:
    • $

      @CheckReturnValue @Nonnull SelenideElement $(org.openqa.selenium.By selector)
      Same as find(String)
      See Also:
    • $

      @CheckReturnValue @Nonnull SelenideElement $(org.openqa.selenium.By selector, int index)
      See Also:
    • $x

      @CheckReturnValue @Nonnull SelenideElement $x(String xpath)

      Locates the first matching element inside given element using xpath locator

      Short form of webElement.findElement(By.xpath(xpathLocator))

      See Also:
    • $x

      @CheckReturnValue @Nonnull SelenideElement $x(String xpath, int index)

      Locates the Nth matching element inside given element using xpath locator

      See Also:
    • findAll

      @CheckReturnValue @Nonnull ElementsCollection findAll(String cssSelector)

      Short form of webDriver.findElements(thisElement, By.cssSelector(cssSelector))

      For example, $("#multirowTable").findAll("tr.active").shouldHave(size(2));

      Returns:
      list of elements inside given element matching given CSS selector
      See Also:
    • findAll

      @CheckReturnValue @Nonnull ElementsCollection findAll(org.openqa.selenium.By selector)

      Short form of webDriver.findElements(thisElement, selector)

      For example, $("#multirowTable").findAll(By.className("active")).shouldHave(size(2));

      Returns:
      list of elements inside given element matching given criteria
      See Also:
    • $$

      @CheckReturnValue @Nonnull ElementsCollection $$(String cssSelector)
      See Also:
    • $$

      @CheckReturnValue @Nonnull ElementsCollection $$(org.openqa.selenium.By selector)
      Same as findAll(By)
    • $$x

      @CheckReturnValue @Nonnull ElementsCollection $$x(String xpath)

      Short form of webDriver.findElements(thisElement, By.xpath(xpath))

      For example, $("#multirowTable").$$x("./input").shouldHave(size(2));

      Returns:
      list of elements inside given element matching given xpath locator
      See Also:
    • uploadFromClasspath

      @Nonnull @CanIgnoreReturnValue File uploadFromClasspath(String... fileName)

      Upload file into file upload field. File is searched from classpath.

      Multiple file upload is also supported. Just pass as many file names as you wish.

      Parameters:
      fileName - name of the file or the relative path in classpath e.g. "files/1.pfd"
      Returns:
      the object of the first file uploaded
      Throws:
      IllegalArgumentException - if any of the files is not found
      See Also:
    • uploadFile

      @Nonnull @CanIgnoreReturnValue File uploadFile(File... file)

      Upload file into file upload field.

      Multiple file upload is also supported. Just pass as many files as you wish.

      Parameters:
      file - file object(s)
      Returns:
      the object of the first file uploaded
      Throws:
      IllegalArgumentException - if any of the files is not found, or other errors
      See Also:
    • selectOption

      void selectOption(int... index)
      Select an option from dropdown list (by index)
      Parameters:
      index - 0..N (0 means first option)
      See Also:
    • selectOption

      void selectOption(String... text)
      Select an option from dropdown list (by text)
      Parameters:
      text - visible text of option
      See Also:
    • selectOptionContainingText

      void selectOptionContainingText(String text)
      Select an option from dropdown list that contains given text
      Parameters:
      text - substring of visible text of option
      See Also:
    • selectOptionByValue

      void selectOptionByValue(String... value)
      Select an option from dropdown list (by value)
      Parameters:
      value - "value" attribute of option
      See Also:
    • getSelectedOption

      @CheckReturnValue @Nonnull SelenideElement getSelectedOption() throws org.openqa.selenium.NoSuchElementException
      Find (first) selected option from this select field
      Returns:
      WebElement for selected <option> element
      Throws:
      org.openqa.selenium.NoSuchElementException
      See Also:
    • getSelectedOptions

      @CheckReturnValue @Nonnull ElementsCollection getSelectedOptions()
      Find all selected options from this select field
      Returns:
      ElementsCollection for selected <option> elements (empty list if no options are selected)
      See Also:
    • getSelectedOptionValue

      @CheckReturnValue @Nullable String getSelectedOptionValue()
      Get value of selected option in select field
      Returns:
      null if the selected option doesn't have "value" attribute (or the select doesn't have options at all)
      See Also:
    • getSelectedValue

      @Deprecated @CheckReturnValue @Nullable String getSelectedValue()
      Deprecated.
    • getSelectedOptionText

      @CheckReturnValue @Nullable String getSelectedOptionText()
      Get text of selected option in select field
      Returns:
      null if there is no selected options (or the select doesn't have options at all)
      Throws:
      IllegalArgumentException - if the element type is not <select/>
      See Also:
    • getSelectedText

      @Deprecated @CheckReturnValue @Nullable String getSelectedText()
      Deprecated.
    • scrollTo

      @Nonnull @CanIgnoreReturnValue SelenideElement scrollTo()
      Ask browser to scroll to this element
      See Also:
    • scrollIntoView

      @Nonnull @CanIgnoreReturnValue SelenideElement scrollIntoView(boolean alignToTop)
      Ask browser to scrolls the element on which it's called into the visible area of the browser window.

      If alignToTop boolean value is true - the top of the element will be aligned to the top.

      If alignToTop boolean value is false - the bottom of the element will be aligned to the bottom. Usage:

           element.scrollIntoView(true);
           // Corresponds to scrollIntoViewOptions: {block: "start", inline: "nearest"}
      
           element.scrollIntoView(false);
           // Corresponds to scrollIntoViewOptions: {block: "end", inline: "nearest"}
       
      Parameters:
      alignToTop - boolean value that indicate how element will be aligned to the visible area of the scrollable ancestor.
      See Also:
    • scrollIntoView

      @Nonnull @CanIgnoreReturnValue SelenideElement scrollIntoView(String scrollIntoViewOptions)
      Ask browser to scrolls the element on which it's called into the visible area of the browser window.
       scrollIntoViewOptions:
        * behavior (optional) - Defines the transition animation
          1. auto (default)
          2. instant
          3. smooth
        * block (optional)
          1. start
          2. center (default)
          3. end
          4. nearest
        * inline
          1. start
          2. center
          3. end
          4. nearest (default)
       

      Usage:

           element.scrollIntoView("{block: \"end\"}");
           element.scrollIntoView("{behavior: \"instant\", block: \"end\", inline: \"nearest\"}");
       
      Parameters:
      scrollIntoViewOptions - is an object with the align properties: behavior, block and inline.
      See Also:
    • download

      @CheckReturnValue @Nonnull File download() throws FileNotFoundException
      Download file by clicking this element. Algorithm depends on @{@link Config#fileDownload() }.
      Throws:
      RuntimeException - if 50x status code was returned from server
      FileNotFoundException - if 40x status code was returned from server
      See Also:
    • download

      @CheckReturnValue @Nonnull File download(long timeout) throws FileNotFoundException
      Download file by clicking this element. Algorithm depends on @{@link Config#fileDownload() }.
      Parameters:
      timeout - download operations timeout.
      Throws:
      RuntimeException - if 50x status code was returned from server
      FileNotFoundException - if 40x status code was returned from server
      See Also:
    • download

      @CheckReturnValue @Nonnull File download(FileFilter fileFilter) throws FileNotFoundException
      Download file by clicking this element. Algorithm depends on @{@link Config#fileDownload() }.
      Parameters:
      fileFilter - Criteria for defining which file is expected ( FileFilters.withName(String), FileFilters.withNameMatching(String), FileFilters.withName(String) ).
      Throws:
      RuntimeException - if 50x status code was returned from server
      FileNotFoundException - if 40x status code was returned from server, or the downloaded file didn't match given filter.
      See Also:
    • download

      @CheckReturnValue @Nonnull File download(long timeout, FileFilter fileFilter) throws FileNotFoundException
      Download file by clicking this element. Algorithm depends on @{@link Config#fileDownload() }.
      Parameters:
      timeout - download operations timeout.
      fileFilter - Criteria for defining which file is expected ( FileFilters.withName(String), FileFilters.withNameMatching(String), FileFilters.withName(String) ).
      Throws:
      RuntimeException - if 50x status code was returned from server
      FileNotFoundException - if 40x status code was returned from server, or the downloaded file didn't match given filter.
      See Also:
    • download

      @CheckReturnValue @Nonnull File download(DownloadOptions options) throws FileNotFoundException
      Throws:
      FileNotFoundException
    • getSearchCriteria

      @CheckReturnValue @Nonnull String getSearchCriteria()
      Return criteria by which this element is located
      Returns:
      e.g. "#multirowTable.findBy(text 'INVALID-TEXT')/valid-selector"
      See Also:
    • toWebElement

      @CheckReturnValue @Nonnull org.openqa.selenium.WebElement toWebElement()
      Returns:
      the original Selenium WebElement wrapped by this object
      Throws:
      org.openqa.selenium.NoSuchElementException - if element does not exist (without waiting for the element)
      See Also:
    • getWrappedElement

      @CheckReturnValue @Nonnull org.openqa.selenium.WebElement getWrappedElement()
      Specified by:
      getWrappedElement in interface org.openqa.selenium.WrapsElement
      Returns:
      Underlying WebElement
      Throws:
      ElementNotFound - if element does not exist (after waiting for N seconds)
      See Also:
    • click

      void click(ClickOptions clickOption)
      Click the element using ClickOptions: $("#username").click(ClickOptions.usingJavaScript())

      You can specify a relative offset from the center of the element inside ClickOptions: e.g. $("#username").click(usingJavaScript().offset(123, 222))

      See Also:
    • click

      void click()
      Click the element

      By default it uses default Selenium method click.

      But it uses JavaScript method to click if com.codeborne.selenide.Configuration#clickViaJs is defined. It may be helpful for testing in Internet Explorer where native click doesn't always work correctly.

      Specified by:
      click in interface org.openqa.selenium.WebElement
      See Also:
    • contextClick

      @Nonnull @CanIgnoreReturnValue SelenideElement contextClick()
      Click with right mouse button on this element
      Returns:
      this element
      See Also:
    • doubleClick

      @Nonnull @CanIgnoreReturnValue SelenideElement doubleClick()
      Double click the element
      Returns:
      this element
      See Also:
    • hover

      @Nonnull @CanIgnoreReturnValue SelenideElement hover()
      Emulate "mouseOver" event. In other words, move mouse cursor over this element (without clicking it).
      Returns:
      this element
      See Also:
    • hover

      @Nonnull @CanIgnoreReturnValue SelenideElement hover(HoverOptions options)
      Emulate "mouseOver" event. In other words, move mouse cursor over this element (without clicking it).
      Parameters:
      options - optional hover parameters (offset etc)
      Returns:
      this element
      See Also:
    • dragAndDropTo

      @Nonnull @CanIgnoreReturnValue SelenideElement dragAndDropTo(String targetCssSelector)
      Drag and drop this element to the target

      Before dropping, waits until target element gets visible.

      Parameters:
      targetCssSelector - CSS selector defining target element
      Returns:
      this element
      See Also:
    • dragAndDropTo

      @Nonnull @CanIgnoreReturnValue SelenideElement dragAndDropTo(org.openqa.selenium.WebElement target)
      Drag and drop this element to the target

      Before dropping, waits until target element gets visible.

      Parameters:
      target - target element
      Returns:
      this element
      See Also:
    • dragAndDropTo

      @Nonnull @CanIgnoreReturnValue SelenideElement dragAndDropTo(String targetCssSelector, DragAndDropOptions options)
      Drag and drop this element to the target via JS script see resources/drag_and_drop_script

      Before dropping, waits until target element gets visible.

      Parameters:
      targetCssSelector - target css selector
      options - drag and drop options to define which way it will be executed
      Returns:
      this element
      See Also:
    • execute

      <ReturnType> ReturnType execute(Command<ReturnType> command)
      Execute custom implemented command (this command will not receive any arguments through Command.execute(SelenideElement, WebElementSource, Object[]) when executed).
      Parameters:
      command - custom command
      Returns:
      whatever the command returns (incl. null)
      See Also:
    • execute

      <ReturnType> ReturnType execute(Command<ReturnType> command, Duration timeout)
      Execute custom implemented command with given timeout (this command will not receive any arguments through Command.execute(SelenideElement, WebElementSource, Object[]) when executed).
      Parameters:
      command - custom command
      timeout - given timeout
      Returns:
      whatever the command returns (incl. null)
      Since:
      5.24.0
      See Also:
    • isImage

      boolean isImage()
      Check if image is properly loaded.
      Throws:
      IllegalArgumentException - if argument is not an "img" element
      Since:
      2.13
      See Also:
    • screenshot

      @CheckReturnValue @Nullable File screenshot()
      Take screenshot of this element
      Returns:
      file with screenshot (*.png) or null if Selenide failed to take a screenshot (due to some technical problem)
      See Also:
    • screenshotAsImage

      @CheckReturnValue @Nullable BufferedImage screenshotAsImage()
      Take screenshot of this element
      Returns:
      buffered image with screenshot
      See Also: