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.internal.WrapsElement, org.openqa.selenium.WrapsElement

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

      • setValue

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement setValue​(@Nullable
                                 java.lang.String text)
        Implementation details:

        If Configuration.versatileSetValue is true, can work as 'selectOptionByValue', 'selectRadio'

        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:
        SetValue
      • append

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement append​(java.lang.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:
        Append
      • 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:
        PressEnter
      • 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:
        PressTab
      • 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:
        PressEscape
      • getText

        @CheckReturnValue
        @Nonnull
        java.lang.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:
        GetText
      • text

        @CheckReturnValue
        @Nonnull
        java.lang.String text()
        Short form of getText()
        See Also:
        WebElement.getText(), GetText
      • getOwnText

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

        @CheckReturnValue
        @Nonnull
        java.lang.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:
        GetInnerText
      • innerHtml

        @CheckReturnValue
        @Nonnull
        java.lang.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:
        GetInnerHtml
      • attr

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

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

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

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

        @CheckReturnValue
        @Nonnull
        java.lang.String pseudo​(java.lang.String pseudoElementName,
                                java.lang.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:
        GetPseudoValue
      • pseudo

        @CheckReturnValue
        @Nonnull
        java.lang.String pseudo​(java.lang.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:
        GetPseudoValue
      • selectRadio

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

        @CheckReturnValue
        @Nullable
        java.lang.String data​(java.lang.String dataAttributeName)
        Get value of attribute "data-dataAttributeName"
        See Also:
        GetDataAttribute
      • getAttribute

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

        @Nonnull
        @CheckReturnValue
        java.lang.String getCssValue​(java.lang.String propertyName)
        Specified by:
        getCssValue in interface org.openqa.selenium.WebElement
      • 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:
        Exists
      • 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.
      • 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(com.codeborne.selenide.Condition), Matches
      • 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:
        is(com.codeborne.selenide.Condition), Matches
      • 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:
        SetSelected
      • 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:
        Config.timeout(), Should
      • 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:
        Config.timeout(), ShouldNot
      • waitUntil

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement waitUntil​(Condition condition,
                                  long timeoutMilliseconds)

        Wait until given element meets given conditions.

        IMPORTANT: in most cases you don't need this method because all should- methods wait too. You need to use #waitUntil or #waitWhile methods only if you need another timeout.

        Parameters:
        condition - e.g. enabled, visible, text() and so on
        timeoutMilliseconds - timeout in milliseconds.
        See Also:
        ShouldBe
      • waitUntil

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement waitUntil​(Condition condition,
                                  long timeoutMilliseconds,
                                  long pollingIntervalMilliseconds)

        Wait until given element meets given conditions.

        IMPORTANT: in most cases you don't need this method because all should- methods wait too. You need to use #waitUntil or #waitWhile methods only if you need another timeout.

        Parameters:
        condition - e.g. enabled, visible, text() and so on
        timeoutMilliseconds - timeout in milliseconds.
        pollingIntervalMilliseconds - interval in milliseconds, when checking condition
        See Also:
        ShouldBe
      • waitWhile

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement waitWhile​(Condition condition,
                                  long timeoutMilliseconds)

        Wait until given element does not meet given conditions.

        IMPORTANT: in most cases you don't need this method because all shouldNot- methods wait too. You need to use #waitUntil or #waitWhile methods only if you need another timeout.

        Parameters:
        condition - e.g. enabled, visible, text() and so on
        timeoutMilliseconds - timeout in milliseconds.
        See Also:
        ShouldNotBe
      • waitWhile

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement waitWhile​(Condition condition,
                                  long timeoutMilliseconds,
                                  long pollingIntervalMilliseconds)

        Wait until given element does not meet given conditions.

        IMPORTANT: in most cases you don't need this method because all shouldNot- methods wait too. You need to use #waitUntil or #waitWhile methods only if you need another timeout.

        Parameters:
        condition - e.g. enabled, visible, text() and so on
        timeoutMilliseconds - timeout in milliseconds.
        pollingIntervalMilliseconds - interval in milliseconds, when checking condition
        See Also:
        ShouldNotBe
      • toString

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

        @CheckReturnValue
        @Nonnull
        SelenideElement parent()
        Get parent element of this element ATTENTION! This method doesn't start any search yet! For example, $("td").parent() could give some "tr".
        Returns:
        Parent element
        See Also:
        GetParent
      • sibling

        @CheckReturnValue
        @Nonnull
        SelenideElement sibling​(int index)
        Get the following sibling element of this element ATTENTION! This method doesn't start any search yet! 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:
        GetSibling
      • preceding

        @CheckReturnValue
        @Nonnull
        SelenideElement preceding​(int index)
        Get the preceding sibling element of this element ATTENTION! This method doesn't start any search yet! 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:
        GetPreceding
      • lastChild

        @CheckReturnValue
        @Nonnull
        SelenideElement lastChild()
        Get last child element of this element ATTENTION! this method doesn't start any search yet! For example, $("tr").lastChild(); could give the last "td".
      • closest

        @CheckReturnValue
        @Nonnull
        SelenideElement closest​(java.lang.String tagOrClass)
        Locates closes ancestor element matching given criteria ATTENTION! This method doesn't start any search yet! For example, $("td").closest("table") could give some "table".
        Parameters:
        tagOrClass - Either HTML tag or CSS class. E.g. "form" or ".active".
        Returns:
        Matching ancestor element
        See Also:
        GetClosest
      • find

        @CheckReturnValue
        @Nonnull
        SelenideElement find​(java.lang.String cssSelector)

        Locates the first matching element inside given element

        ATTENTION! This method doesn't start any search yet!

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

        See Also:
        Find
      • find

        @CheckReturnValue
        @Nonnull
        SelenideElement find​(java.lang.String cssSelector,
                             int index)

        Locates the Nth matching element inside given element

        ATTENTION! This method doesn't start any search yet!
        See Also:
        Find
      • find

        @CheckReturnValue
        SelenideElement find​(org.openqa.selenium.By selector)
        ATTENTION! This method doesn't start any search yet! Same as find(String)
        See Also:
        Find
      • find

        @CheckReturnValue
        @Nonnull
        SelenideElement find​(org.openqa.selenium.By selector,
                             int index)
        ATTENTION! This method doesn't start any search yet! Same as find(String, int)
        See Also:
        Find
      • $

        @CheckReturnValue
        @Nonnull
        SelenideElement $​(java.lang.String cssSelector)
        ATTENTION! This method doesn't start any search yet! Same as find(String)
        See Also:
        Find
      • $

        @CheckReturnValue
        @Nonnull
        SelenideElement $​(java.lang.String cssSelector,
                          int index)
        ATTENTION! This method doesn't start any search yet! Same as find(String, int)
        See Also:
        Find
      • $

        @CheckReturnValue
        @Nonnull
        SelenideElement $​(org.openqa.selenium.By selector)
        ATTENTION! This method doesn't start any search yet! Same as find(String)
        See Also:
        Find
      • $

        @CheckReturnValue
        @Nonnull
        SelenideElement $​(org.openqa.selenium.By selector,
                          int index)
        ATTENTION! This method doesn't start any search yet! Same as find(String, int)
        See Also:
        Find
      • $x

        @CheckReturnValue
        @Nonnull
        SelenideElement $x​(java.lang.String xpath)

        Locates the first matching element inside given element using xpath locator

        ATTENTION! This method doesn't start any search yet!

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

        See Also:
        FindByXpath
      • $x

        @CheckReturnValue
        @Nonnull
        SelenideElement $x​(java.lang.String xpath,
                           int index)

        Locates the Nth matching element inside given element using xpath locator

        ATTENTION! This method doesn't start any search yet!
        See Also:
        FindByXpath
      • findAll

        @CheckReturnValue
        @Nonnull
        ElementsCollection findAll​(java.lang.String cssSelector)

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

        ATTENTION! This method doesn't start any search yet!

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

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

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

        Short form of webDriver.findElements(thisElement, selector)

        ATTENTION! This method doesn't start any search yet!

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

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

        @CheckReturnValue
        @Nonnull
        ElementsCollection $$​(java.lang.String cssSelector)
        ATTENTION! This method doesn't start any search yet! Same as findAll(String)
      • $$x

        @CheckReturnValue
        @Nonnull
        ElementsCollection $$x​(java.lang.String xpath)

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

        ATTENTION! This method doesn't start any search yet!

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

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

        @Nonnull
        @CanIgnoreReturnValue
        java.io.File uploadFromClasspath​(java.lang.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:
        java.lang.IllegalArgumentException - if any of the files is not found
        See Also:
        UploadFileFromClasspath
      • uploadFile

        @Nonnull
        @CanIgnoreReturnValue
        java.io.File uploadFile​(java.io.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:
        java.lang.IllegalArgumentException - if any of the files is not found, or other errors
        See Also:
        UploadFile
      • selectOption

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

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

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

        void selectOptionByValue​(java.lang.String... value)
        Select an option from dropdown list (by value)
        Parameters:
        value - "value" attribute of option
        See Also:
        SelectOptionByValue
      • 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 - if no options are selected
        See Also:
        GetSelectedOption
      • 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:
        GetSelectedOptions
      • getSelectedValue

        @CheckReturnValue
        @Nullable
        java.lang.String getSelectedValue()
        Get value of selected option in select field
        Returns:
        null if the selected option doesn't have "value" attribute
        See Also:
        GetSelectedValue
      • getSelectedText

        @CheckReturnValue
        @Nonnull
        java.lang.String getSelectedText()
        Get text of selected option in select field
        See Also:
        GetSelectedText
      • scrollTo

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement scrollTo()
        Ask browser to scroll to this element
        See Also:
        ScrollTo
      • 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, Web API reference
      • scrollIntoView

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement scrollIntoView​(java.lang.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:
        ScrollIntoView, Web API reference
      • download

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

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

        @CheckReturnValue
        @Nonnull
        java.io.File download​(FileFilter fileFilter)
                       throws java.io.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:
        java.lang.RuntimeException - if 50x status code was returned from server
        java.io.FileNotFoundException - if 40x status code was returned from server, or the downloaded file didn't match given filter.
        See Also:
        FileFilters, DownloadFile
      • download

        @CheckReturnValue
        @Nonnull
        java.io.File download​(long timeout,
                              FileFilter fileFilter)
                       throws java.io.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:
        java.lang.RuntimeException - if 50x status code was returned from server
        java.io.FileNotFoundException - if 40x status code was returned from server, or the downloaded file didn't match given filter.
        See Also:
        FileFilters, DownloadFile
      • download

        @CheckReturnValue
        @Nonnull
        java.io.File download​(DownloadOptions options)
                       throws java.io.FileNotFoundException
        Throws:
        java.io.FileNotFoundException
      • getSearchCriteria

        @CheckReturnValue
        @Nonnull
        java.lang.String getSearchCriteria()
        Return criteria by which this element is located
        Returns:
        e.g. "#multirowTable.findBy(text 'INVALID-TEXT')/valid-selector"
      • 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:
        ToWebElement
      • 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:
        GetWrappedElement
      • 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
      • 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:
        Click
      • click

        @Deprecated
        void click​(int offsetX,
                   int offsetY)
        Deprecated.
        use click(ClickOptions) with offsets
        Click the element with a relative offset from the center of the element
      • contextClick

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

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement doubleClick()
        Double click the element
        Returns:
        this element
        See Also:
        DoubleClick
      • 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
      • dragAndDropTo

        @Nonnull
        @CanIgnoreReturnValue
        SelenideElement dragAndDropTo​(java.lang.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
      • 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
      • execute

        <ReturnType> ReturnType execute​(Command<ReturnType> command)
        Execute custom implemented command
        Parameters:
        command - custom command
        Returns:
        whatever the command returns (incl. null)
        See Also:
        Execute, Command
      • isImage

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

        @CheckReturnValue
        @Nullable
        java.io.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:
        TakeScreenshot
      • screenshotAsImage

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