Class RemoteWebElement
- All Implemented Interfaces:
Locatable
,SearchContext
,TakesScreenshot
,WebElement
,WrapsDriver
-
Field Summary
Modifier and TypeFieldDescriptionprotected FileDetector
protected String
protected RemoteWebDriver
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
If this element is a form entry element, this will reset its value.void
click()
Click this element.boolean
protected Response
protected Response
execute
(CommandPayload payload) findElement
(By locator) Find the firstWebElement
using the given method.findElements
(By locator) Find all elements within the current context using the given mechanism.Gets result of a Accessible Name and Description Computation for the Accessible Name of the element.Gets result of computing the WAI-ARIA role of element.getAttribute
(String name) Get the value of the given attribute of the element.getCssValue
(String propertyName) Get the value of a given CSS property.getDomAttribute
(String name) Get the value of the given attribute of the element.getDomProperty
(String name) Get the value of the given property of the element.getId()
Where on the page is the top left-hand corner of the rendered element?getRect()
<X> X
getScreenshotAs
(OutputType<X> outputType) Capture the screenshot and store it in the specified location.getSize()
What is the width and height of the rendered element?Get the tag name of this element.getText()
Get the visible (i.e.int
hashCode()
boolean
Is this element displayed or not? This method avoids the problem of having to parse an element's "style" attribute.boolean
Is the element currently enabled or not? This will generally return true for everything but disabled input elements.boolean
Determine whether this element is selected or not.void
sendKeys
(CharSequence... keysToSend) Use this method to simulate typing into an element, which may set its value.void
setFileDetector
(FileDetector detector) protected void
setFoundBy
(SearchContext foundFrom, String locator, String term) void
void
setParent
(RemoteWebDriver parent) void
submit()
If this current element is a form, or an element within a form, then this will be submitted to the remote server.toJson()
toString()
-
Field Details
-
id
-
parent
-
fileDetector
-
-
Constructor Details
-
RemoteWebElement
public RemoteWebElement()
-
-
Method Details
-
setFoundBy
-
setParent
-
getId
-
setId
-
setFileDetector
-
click
public void click()Description copied from interface:WebElement
Click this element. If this causes a new page to load, you should discard all references to this element and any further operations performed on this element will throw a StaleElementReferenceException.Note that if click() is done by sending a native event (which is the default on most browsers/platforms) then the method will _not_ wait for the next page to load and the caller should verify that themselves.
There are some preconditions for an element to be clicked. The element must be visible, and it must have a height and width greater than 0.
See W3C WebDriver specification for more details.
- Specified by:
click
in interfaceWebElement
-
submit
public void submit()Description copied from interface:WebElement
If this current element is a form, or an element within a form, then this will be submitted to the remote server. If this causes the current page to change, then this method will block until the new page is loaded.- Specified by:
submit
in interfaceWebElement
-
sendKeys
Description copied from interface:WebElement
Use this method to simulate typing into an element, which may set its value.See W3C WebDriver specification for more details.
- Specified by:
sendKeys
in interfaceWebElement
- Parameters:
keysToSend
- character sequence to send to the element
-
clear
public void clear()Description copied from interface:WebElement
If this element is a form entry element, this will reset its value.See W3C WebDriver specification and HTML specification for more details.
- Specified by:
clear
in interfaceWebElement
-
getTagName
Description copied from interface:WebElement
Get the tag name of this element. Not the value of the name attribute: will return"input"
for the element<input name="foo" />
.See W3C WebDriver specification for more details.
- Specified by:
getTagName
in interfaceWebElement
- Returns:
- The tag name of this element.
-
getDomProperty
Description copied from interface:WebElement
Get the value of the given property of the element. Will return the current value, even if this has been modified after the page has been loaded.See W3C WebDriver specification for more details.
- Specified by:
getDomProperty
in interfaceWebElement
- Parameters:
name
- The name of the property.- Returns:
- The property's current value or null if the value is not set.
-
getDomAttribute
Description copied from interface:WebElement
Get the value of the given attribute of the element.This method, unlike
WebElement.getAttribute(String)
, returns the value of the attribute with the given name but not the property with the same name.The following are deemed to be "boolean" attributes, and will return either "true" or null:
async, autofocus, autoplay, checked, compact, complete, controls, declare, defaultchecked, defaultselected, defer, disabled, draggable, ended, formnovalidate, hidden, indeterminate, iscontenteditable, ismap, itemscope, loop, multiple, muted, nohref, noresize, noshade, novalidate, nowrap, open, paused, pubdate, readonly, required, reversed, scoped, seamless, seeking, selected, truespeed, willvalidate
See W3C WebDriver specification for more details.
- Specified by:
getDomAttribute
in interfaceWebElement
- Parameters:
name
- The name of the attribute.- Returns:
- The attribute's value or null if the value is not set.
-
getAttribute
Description copied from interface:WebElement
Get the value of the given attribute of the element. Will return the current value, even if this has been modified after the page has been loaded.More exactly, this method will return the value of the property with the given name, if it exists. If it does not, then the value of the attribute with the given name is returned. If neither exists, null is returned.
The "style" attribute is converted as best can be to a text representation with a trailing semicolon.
The following are deemed to be "boolean" attributes, and will return either "true" or null:
async, autofocus, autoplay, checked, compact, complete, controls, declare, defaultchecked, defaultselected, defer, disabled, draggable, ended, formnovalidate, hidden, indeterminate, iscontenteditable, ismap, itemscope, loop, multiple, muted, nohref, noresize, noshade, novalidate, nowrap, open, paused, pubdate, readonly, required, reversed, scoped, seamless, seeking, selected, truespeed, willvalidate
Finally, the following commonly mis-capitalized attribute/property names are evaluated as expected:
- If the given name is "class", the "className" property is returned.
- If the given name is "readonly", the "readOnly" property is returned.
WebElement.getDomAttribute(String)
orWebElement.getDomProperty(String)
to obtain the result you desire.See W3C WebDriver specification for more details.
- Specified by:
getAttribute
in interfaceWebElement
- Parameters:
name
- The name of the attribute.- Returns:
- The attribute/property's current value or null if the value is not set.
-
getAriaRole
Description copied from interface:WebElement
Gets result of computing the WAI-ARIA role of element.See W3C WebDriver specification for more details.
- Specified by:
getAriaRole
in interfaceWebElement
- Returns:
- the WAI-ARIA role of the element.
-
getAccessibleName
Description copied from interface:WebElement
Gets result of a Accessible Name and Description Computation for the Accessible Name of the element.See W3C WebDriver specification for more details.
- Specified by:
getAccessibleName
in interfaceWebElement
- Returns:
- the accessible name of the element.
-
isSelected
public boolean isSelected()Description copied from interface:WebElement
Determine whether this element is selected or not. This operation only applies to input elements such as checkboxes, options in a select and radio buttons. For more information on which elements this method supports, refer to the specification.See W3C WebDriver specification for more details.
- Specified by:
isSelected
in interfaceWebElement
- Returns:
- True if the element is currently selected or checked, false otherwise.
-
isEnabled
public boolean isEnabled()Description copied from interface:WebElement
Is the element currently enabled or not? This will generally return true for everything but disabled input elements.See W3C WebDriver specification for more details.
- Specified by:
isEnabled
in interfaceWebElement
- Returns:
- True if the element is enabled, false otherwise.
-
getText
Description copied from interface:WebElement
Get the visible (i.e. not hidden by CSS) text of this element, including sub-elements.See W3C WebDriver specification for more details.
- Specified by:
getText
in interfaceWebElement
- Returns:
- The visible text of this element.
-
getCssValue
Description copied from interface:WebElement
Get the value of a given CSS property. Color values could be returned as rgba or rgb strings. This depends on whether the browser omits the implicit opacity value or not.For example if the "background-color" property is set as "green" in the HTML source, the returned value could be "rgba(0, 255, 0, 1)" if implicit opacity value is preserved or "rgb(0, 255, 0)" if it is omitted.
Note that shorthand CSS properties (e.g. background, font, border, border-top, margin, margin-top, padding, padding-top, list-style, outline, pause, cue) are not returned, in accordance with the DOM CSS2 specification - you should directly access the longhand properties (e.g. background-color) to access the desired values.
See W3C WebDriver specification for more details.
- Specified by:
getCssValue
in interfaceWebElement
- Parameters:
propertyName
- the css property name of the element- Returns:
- The current, computed value of the property.
-
findElements
Description copied from interface:WebElement
Find all elements within the current context using the given mechanism. When using xpath be aware that webdriver follows standard conventions: a search prefixed with "//" will search the entire document, not just the children of this current node. Use ".//" to limit your search to the children of this WebElement. This method is affected by the 'implicit wait' times in force at the time of execution. When implicitly waiting, this method will return as soon as there are more than 0 items in the found collection, or will return an empty list if the timeout is reached.See W3C WebDriver specification for more details.
- Specified by:
findElements
in interfaceSearchContext
- Specified by:
findElements
in interfaceWebElement
- Parameters:
locator
- The locating mechanism to use- Returns:
- A list of all
WebElement
s, or an empty list if nothing matches. - See Also:
-
findElement
Description copied from interface:WebElement
Find the firstWebElement
using the given method. See the note inWebElement.findElements(By)
about finding via XPath. This method is affected by the 'implicit wait' times in force at the time of execution. The findElement(..) invocation will return a matching row, or try again repeatedly until the configured timeout is reached.findElement should not be used to look for non-present elements, use
WebElement.findElements(By)
and assert zero length response instead.See W3C WebDriver specification for more details.
- Specified by:
findElement
in interfaceSearchContext
- Specified by:
findElement
in interfaceWebElement
- Parameters:
locator
- The locating mechanism- Returns:
- The first matching element on the current context.
- See Also:
-
getShadowRoot
- Specified by:
getShadowRoot
in interfaceWebElement
- Returns:
- A representation of an element's shadow root for accessing the shadow DOM of a web component.
-
execute
-
execute
-
equals
-
hashCode
public int hashCode() -
getWrappedDriver
- Specified by:
getWrappedDriver
in interfaceWrapsDriver
- Returns:
- The driver that contains this element.
-
isDisplayed
public boolean isDisplayed()Description copied from interface:WebElement
Is this element displayed or not? This method avoids the problem of having to parse an element's "style" attribute.- Specified by:
isDisplayed
in interfaceWebElement
- Returns:
- Whether the element is displayed
-
getLocation
Description copied from interface:WebElement
Where on the page is the top left-hand corner of the rendered element?See W3C WebDriver specification for more details.
- Specified by:
getLocation
in interfaceWebElement
- Returns:
- A point, containing the location of the top left-hand corner of the element
-
getSize
Description copied from interface:WebElement
What is the width and height of the rendered element?See W3C WebDriver specification for more details.
- Specified by:
getSize
in interfaceWebElement
- Returns:
- The size of the element on the page.
-
getRect
- Specified by:
getRect
in interfaceWebElement
- Returns:
- The location and size of the rendered element
See W3C WebDriver specification for more details.
-
getCoordinates
- Specified by:
getCoordinates
in interfaceLocatable
-
getScreenshotAs
Description copied from interface:TakesScreenshot
Capture the screenshot and store it in the specified location.For a W3C-conformant WebDriver or WebElement, this behaves as stated in W3C WebDriver specification.
For a non-W3C-conformant WebDriver, this makes a best effort depending on the browser to return the following in order of preference:
- Entire page
- Current window
- Visible portion of the current frame
- The screenshot of the entire display containing the browser
- The entire content of the HTML element
- The visible portion of the HTML element
- Specified by:
getScreenshotAs
in interfaceTakesScreenshot
- Type Parameters:
X
- Return type for getScreenshotAs.- Parameters:
outputType
- target type, @see OutputType- Returns:
- Object in which is stored information about the screenshot.
- Throws:
WebDriverException
- on failure.
-
toString
-
toJson
-