public interface SelenideElement
extends org.openqa.selenium.WebElement, org.openqa.selenium.WrapsDriver, org.openqa.selenium.internal.WrapsElement, org.openqa.selenium.interactions.internal.Locatable, org.openqa.selenium.TakesScreenshot
WebElement with additional methods like
shouldBe(Condition...) and shouldHave(Condition...)| Modifier and Type | Method and Description |
|---|---|
SelenideElement |
$(org.openqa.selenium.By selector)
ATTENTION! This method doesn't start any search yet!
Same as
find(String) |
SelenideElement |
$(org.openqa.selenium.By selector,
int index)
ATTENTION! This method doesn't start any search yet!
Same as
find(String, int) |
SelenideElement |
$(java.lang.String cssSelector)
ATTENTION! This method doesn't start any search yet!
Same as
find(String) |
SelenideElement |
$(java.lang.String cssSelector,
int index)
ATTENTION! This method doesn't start any search yet!
Same as
find(String, int) |
ElementsCollection |
$$(org.openqa.selenium.By selector)
Same as
findAll(By) |
ElementsCollection |
$$(java.lang.String cssSelector)
ATTENTION! This method doesn't start any search yet!
Same as
findAll(String) |
ElementsCollection |
$$x(java.lang.String xpath)
Short form of
webDriver.findElements(thisElement, By.xpath(xpath)) |
SelenideElement |
$x(java.lang.String xpath)
Locates the first matching element inside given element using xpath locator
|
SelenideElement |
$x(java.lang.String xpath,
int index)
Locates the Nth matching element inside given element using xpath locator
|
SelenideElement |
append(java.lang.String text)
Append given test to the text field and trigger "change" event.
|
java.lang.String |
attr(java.lang.String attributeName)
Get the attribute of the element.
|
void |
click()
Click the element
|
void |
click(int offsetX,
int offsetY)
Click the element with a relative offset from the upper left corner of the element
|
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".
|
SelenideElement |
contextClick()
Click with right mouse button on this element
|
java.lang.String |
data(java.lang.String dataAttributeName)
Get value of attribute "data-dataAttributeName"
|
SelenideElement |
doubleClick()
Double click the element
|
java.io.File |
download()
Download file linked by "href" attribute of this element
|
java.io.File |
download(long timeout)
Download file linked by "href" attribute of this element or any file to which this element redirects.
|
SelenideElement |
dragAndDropTo(java.lang.String targetCssSelector)
Drag and drop this element to the target
Before dropping, waits until target element gets visible.
|
SelenideElement |
dragAndDropTo(org.openqa.selenium.WebElement target)
Drag and drop this element to the target
Before dropping, waits until target element gets visible.
|
boolean |
exists()
Checks if element exists true on the current page.
|
SelenideElement |
find(org.openqa.selenium.By selector)
ATTENTION! This method doesn't start any search yet!
Same as
find(String) |
SelenideElement |
find(org.openqa.selenium.By selector,
int index)
ATTENTION! This method doesn't start any search yet!
Same as
find(String, int) |
SelenideElement |
find(java.lang.String cssSelector)
Locates the first matching element inside given element
|
SelenideElement |
find(java.lang.String cssSelector,
int index)
Locates the Nth matching element inside given element
|
ElementsCollection |
findAll(org.openqa.selenium.By selector)
Short form of
webDriver.findElements(thisElement, selector) |
ElementsCollection |
findAll(java.lang.String cssSelector)
Short form of
webDriver.findElements(thisElement, By.cssSelector(cssSelector)) |
java.lang.String |
getSearchCriteria()
Return criteria by which this element is located
|
SelenideElement |
getSelectedOption()
Find (first) selected option from this select field
|
ElementsCollection |
getSelectedOptions()
Find all selected options from this select field
|
java.lang.String |
getSelectedText()
Get text of selected option in select field
|
java.lang.String |
getSelectedValue()
Get value of selected option in select field
|
java.lang.String |
getText()
Get the visible text of this element, including sub-elements without leading/trailing whitespace.
|
java.lang.String |
getValue()
Get the "value" attribute of the element
|
org.openqa.selenium.WebElement |
getWrappedElement() |
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.
|
SelenideElement |
hover()
Emulate "mouseOver" event.
|
java.lang.String |
innerHtml()
Get the HTML code of the element with children.
|
java.lang.String |
innerText()
Get the text code of the element with children.
|
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.
|
boolean |
isDisplayed()
Check if this element exists and visible.
|
boolean |
isImage()
Check if image is properly loaded.
|
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".
|
java.lang.String |
name()
Get the "name" attribute of the element
|
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".
|
SelenideElement |
pressEnter()
Press ENTER.
|
SelenideElement |
pressEscape()
Press ESCAPE.
|
SelenideElement |
pressTab()
Press TAB.
|
java.io.File |
screenshot()
Take screenshot of this element
|
java.awt.image.BufferedImage |
screenshotAsImage()
Take screenshot of this element
|
SelenideElement |
scrollIntoView(boolean alignToTop)
Ask browser to scrolls the element on which it's called into the visible area of the browser window.
|
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.
|
SelenideElement |
scrollTo()
Ask browser to scroll to this element
|
void |
selectOption(int... index)
Select an option from dropdown list (by index)
|
void |
selectOption(java.lang.String... text)
Select an option from dropdown list (by text)
|
void |
selectOptionByValue(java.lang.String... value)
Select an option from dropdown list (by value)
|
void |
selectOptionContainingText(java.lang.String text)
Select an option from dropdown list that contains given text
|
SelenideElement |
selectRadio(java.lang.String value)
Select radio button
|
SelenideElement |
setSelected(boolean selected)
Set checkbox state to CHECKED or UNCHECKED.
|
SelenideElement |
setValue(java.lang.String text)
Implementation details:
|
SelenideElement |
should(Condition... condition)
Checks that given element meets all of given conditions.
|
SelenideElement |
shouldBe(Condition... condition)
Synonym for #should.
|
SelenideElement |
shouldHave(Condition... condition)
Synonym for #should.
|
SelenideElement |
shouldNot(Condition... condition)
Checks that given element does not meet given conditions.
|
SelenideElement |
shouldNotBe(Condition... condition)
Synonym for #shouldNot.
|
SelenideElement |
shouldNotHave(Condition... condition)
Synonym for #shouldNot.
|
java.lang.String |
text()
Short form of getText()
|
java.lang.String |
toString()
Displays WebElement in human-readable format.
|
org.openqa.selenium.WebElement |
toWebElement() |
java.io.File |
uploadFile(java.io.File... file)
Upload file into file upload field.
|
java.io.File |
uploadFromClasspath(java.lang.String... fileName)
Upload file into file upload field.
|
java.lang.String |
val()
Get the "value" attribute of the element
Same as #getValue()
|
SelenideElement |
val(java.lang.String text)
Same as #setValue(java.lang.String)
|
SelenideElement |
waitUntil(Condition condition,
long timeoutMilliseconds)
Wait until given element meets given conditions.
|
SelenideElement |
waitUntil(Condition condition,
long timeoutMilliseconds,
long pollingIntervalMilliseconds)
Wait until given element meets given conditions.
|
SelenideElement |
waitWhile(Condition condition,
long timeoutMilliseconds)
Wait until given element does not meet given conditions.
|
SelenideElement |
waitWhile(Condition condition,
long timeoutMilliseconds,
long pollingIntervalMilliseconds)
Wait until given element does not meet given conditions.
|
SelenideElement setValue(java.lang.String text)
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
text - Any text to enter into the text field or set by value for select/radio.SetValueSelenideElement val(java.lang.String text)
ValSelenideElement append(java.lang.String text)
Implementation details: This is the same as
1. WebElement.sendKeys(text) 2. Trigger change event
text - Any text to append into the text field.AppendSelenideElement pressEnter()
$("query").val("Aikido techniques").pressEnter();
Implementation details:
Check that element is displayed and execute WebElement.sendKeys(Keys.ENTER)
PressEnterSelenideElement pressTab()
$("#to").val("stiven@seagal.com").pressTab();
Implementation details:
Check that element is displayed and execute WebElement.sendKeys(Keys.TAB)
PressTabSelenideElement pressEscape()
$(".edit").click().pressEscape();
Implementation details:
Check that element is displayed and execute WebElement.sendKeys(Keys.ESCAPE)
PressEscapejava.lang.String getText()
getText in interface org.openqa.selenium.WebElementGetTextjava.lang.String text()
WebElement.getText(),
GetTextjava.lang.String innerText()
GetInnerTextjava.lang.String innerHtml()
GetInnerHtmljava.lang.String attr(java.lang.String attributeName)
GetAttributejava.lang.String name()
GetNamejava.lang.String val()
Valjava.lang.String getValue()
GetValueSelenideElement selectRadio(java.lang.String value)
value - value of radio button to selectSelectRadiojava.lang.String data(java.lang.String dataAttributeName)
GetDataAttributeboolean exists()
Existsboolean isDisplayed()
isDisplayed in interface org.openqa.selenium.WebElementIsDisplayedboolean is(Condition condition)
has(com.codeborne.selenide.Condition),
Matchesboolean has(Condition condition)
is(com.codeborne.selenide.Condition),
MatchesSelenideElement setSelected(boolean selected)
selected - true for checked and false for uncheckedSetSelectedSelenideElement 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);
$("#errorMessage").should(appear).shouldBe(enabled);Configuration.timeout,
ShouldSelenideElement shouldHave(Condition... condition)
Synonym for #should. Useful for better readability.
For example: $("#errorMessage").shouldHave(text("Hello"), text("World"));
SelenideElement shouldBe(Condition... condition)
Synonym for #should. Useful for better readability.
For example: $("#errorMessage").shouldBe(visible, enabled);
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);
Configuration.timeout,
ShouldNotSelenideElement shouldNotHave(Condition... condition)
Synonym for #shouldNot. Useful for better readability.
For example: $("#errorMessage").shouldNotHave(text("Exception"), text("Error"));
SelenideElement shouldNotBe(Condition... condition)
Synonym for #shouldNot. Useful for better readability.
For example: $("#errorMessage").shouldNotBe(visible, enabled);
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.
condition - e.g. enabled, visible, text() and so ontimeoutMilliseconds - timeout in milliseconds.ShouldBeSelenideElement 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.
condition - e.g. enabled, visible, text() and so ontimeoutMilliseconds - timeout in milliseconds.pollingIntervalMilliseconds - interval in milliseconds, when checking conditionShouldBeSelenideElement 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.
condition - e.g. enabled, visible, text() and so ontimeoutMilliseconds - timeout in milliseconds.ShouldNotBeSelenideElement 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.
condition - e.g. enabled, visible, text() and so ontimeoutMilliseconds - timeout in milliseconds.pollingIntervalMilliseconds - interval in milliseconds, when checking conditionShouldNotBejava.lang.String toString()
toString in class java.lang.ObjectToStringSelenideElement parent()
GetParentSelenideElement lastChild()
SelenideElement closest(java.lang.String tagOrClass)
tagOrClass - Either HTML tag or CSS class. E.g. "form" or ".active".GetClosestSelenideElement 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))
FindSelenideElement find(java.lang.String cssSelector, int index)
Locates the Nth matching element inside given element
ATTENTION! This method doesn't start any search yet!FindSelenideElement find(org.openqa.selenium.By selector)
find(String)FindSelenideElement find(org.openqa.selenium.By selector, int index)
find(String, int)FindSelenideElement $(java.lang.String cssSelector)
find(String)FindSelenideElement $(java.lang.String cssSelector, int index)
find(String, int)FindSelenideElement $(org.openqa.selenium.By selector)
find(String)FindSelenideElement $(org.openqa.selenium.By selector, int index)
find(String, int)FindSelenideElement $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))
FindByXpathSelenideElement $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!FindByXpathElementsCollection findAll(java.lang.String cssSelector)
Short form of webDriver.findElements(thisElement, By.cssSelector(cssSelector))
For example, $("#multirowTable").findAll("tr.active").shouldHave(size(2));
FindAllElementsCollection findAll(org.openqa.selenium.By selector)
Short form of webDriver.findElements(thisElement, selector)
For example, $("#multirowTable").findAll(By.className("active")).shouldHave(size(2));
FindAllElementsCollection $$(java.lang.String cssSelector)
findAll(String)ElementsCollection $$(org.openqa.selenium.By selector)
findAll(By)ElementsCollection $$x(java.lang.String xpath)
Short form of webDriver.findElements(thisElement, By.xpath(xpath))
For example, $("#multirowTable").$$x("./input").shouldHave(size(2));
FindAllByXpathjava.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.
fileName - name of the file or the relative path in classpath e.g. "files/1.pfd"java.lang.IllegalArgumentException - if any of the files is not foundUploadFileFromClasspathjava.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.
file - file object(s)java.lang.IllegalArgumentException - if any of the files is not found, or other errorsUploadFilevoid selectOption(int... index)
index - 0..N (0 means first option)SelectOptionByTextOrIndexvoid selectOption(java.lang.String... text)
text - visible text of optionSelectOptionByTextOrIndexvoid selectOptionContainingText(java.lang.String text)
text - substring of visible text of optionSelectOptionContainingTextvoid selectOptionByValue(java.lang.String... value)
value - "value" attribute of optionSelectOptionByValueSelenideElement getSelectedOption() throws org.openqa.selenium.NoSuchElementException
org.openqa.selenium.NoSuchElementException - if no options are selectedGetSelectedOptionElementsCollection getSelectedOptions()
GetSelectedOptionsjava.lang.String getSelectedValue()
GetSelectedValuejava.lang.String getSelectedText()
GetSelectedTextSelenideElement scrollTo()
ScrollToSelenideElement scrollIntoView(boolean alignToTop)
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"}
alignToTop - boolean value that indicate how element will be aligned to the visible area of the scrollable ancestor.ScrollIntoView,
Web API referenceSelenideElement scrollIntoView(java.lang.String scrollIntoViewOptions)
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\"}");
scrollIntoViewOptions - is an object with the align properties: behavior, block and inline.ScrollIntoView,
Web API referencejava.io.File download()
throws java.io.FileNotFoundException
java.lang.RuntimeException - if 50x status code was returned from serverjava.io.FileNotFoundException - if 40x status code was returned from serverDownloadFilejava.io.File download(long timeout)
throws java.io.FileNotFoundException
timeout - download operations timeout.java.lang.RuntimeException - if 50x status code was returned from serverjava.io.FileNotFoundException - if 40x status code was returned from serverDownloadFilejava.lang.String getSearchCriteria()
org.openqa.selenium.WebElement toWebElement()
ToWebElementorg.openqa.selenium.WebElement getWrappedElement()
getWrappedElement in interface org.openqa.selenium.WrapsElementWebElementGetWrappedElementvoid click()
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.
click in interface org.openqa.selenium.WebElementClickvoid click(int offsetX,
int offsetY)
SelenideElement contextClick()
ContextClickSelenideElement doubleClick()
DoubleClickSelenideElement hover()
HoverSelenideElement dragAndDropTo(java.lang.String targetCssSelector)
targetCssSelector - CSS selector defining target elementDragAndDropToSelenideElement dragAndDropTo(org.openqa.selenium.WebElement target)
target - target elementDragAndDropToboolean isImage()
java.lang.IllegalArgumentException - if argument is not an "img" elementIsImagejava.io.File screenshot()
TakeScreenshotjava.awt.image.BufferedImage screenshotAsImage()
TakeScreenshotAsImage