public class Actions
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected CompositeAction |
action |
protected org.openqa.selenium.WebDriver |
driver |
protected org.openqa.selenium.interactions.Keyboard |
keyboard |
protected org.openqa.selenium.interactions.Mouse |
mouse |
Constructor and Description |
---|
Actions(org.openqa.selenium.interactions.Keyboard keyboard)
Only used by the TouchActions class.
|
Actions(org.openqa.selenium.interactions.Keyboard keyboard,
org.openqa.selenium.interactions.Mouse mouse)
A constructor that should only be used when the keyboard or mouse were extended to provide
additional functionality (for example, dragging-and-dropping from the desktop).
|
Actions(org.openqa.selenium.WebDriver driver)
Default constructor - uses the default keyboard, mouse implemented by the driver.
|
Modifier and Type | Method and Description |
---|---|
org.openqa.selenium.interactions.Action |
build()
Generates a composite action containing all actions so far, ready to be performed (and
resets the internal builder state, so subsequent calls to build() will contain fresh
sequences).
|
Actions |
click()
Clicks at the current mouse location.
|
Actions |
click(org.openqa.selenium.WebElement onElement)
Clicks in the middle of the given element.
|
Actions |
clickAndHold()
Clicks (without releasing) at the current mouse location.
|
Actions |
clickAndHold(org.openqa.selenium.WebElement onElement)
Clicks (without releasing) in the middle of the given element.
|
Actions |
contextClick()
Performs a context-click at the current mouse location.
|
Actions |
contextClick(org.openqa.selenium.WebElement onElement)
Performs a context-click at middle of the given element.
|
Actions |
doubleClick()
Performs a double-click at the current mouse location.
|
Actions |
doubleClick(org.openqa.selenium.WebElement onElement)
Performs a double-click at middle of the given element.
|
Actions |
dragAndDrop(org.openqa.selenium.WebElement source,
org.openqa.selenium.WebElement target)
A convenience method that performs click-and-hold at the location of the source element,
moves to the location of the target element, then releases the mouse.
|
Actions |
dragAndDropBy(org.openqa.selenium.WebElement source,
int xOffset,
int yOffset)
A convenience method that performs click-and-hold at the location of the source element,
moves by a given offset, then releases the mouse.
|
Actions |
keyDown(org.openqa.selenium.Keys theKey)
Performs a modifier key press.
|
Actions |
keyDown(org.openqa.selenium.WebElement element,
org.openqa.selenium.Keys theKey)
Performs a modifier key press after focusing on an element.
|
Actions |
keyUp(org.openqa.selenium.Keys theKey)
Performs a modifier key release.
|
Actions |
keyUp(org.openqa.selenium.WebElement element,
org.openqa.selenium.Keys theKey)
Performs a modifier key release after focusing on an element.
|
Actions |
moveByOffset(int xOffset,
int yOffset)
Moves the mouse from its current position (or 0,0) by the given offset.
|
Actions |
moveToElement(org.openqa.selenium.WebElement toElement)
Moves the mouse to the middle of the element.
|
Actions |
moveToElement(org.openqa.selenium.WebElement toElement,
int xOffset,
int yOffset)
Moves the mouse to an offset from the top-left corner of the element.
|
Actions |
pause(long pause)
Deprecated.
'Pause' is considered to be a bad design practice.
|
void |
perform()
A convenience method for performing the actions without calling build() first.
|
Actions |
release()
Releases the depressed left mouse button at the current mouse location.
|
Actions |
release(org.openqa.selenium.WebElement onElement)
Releases the depressed left mouse button, in the middle of the given element.
|
private void |
resetCompositeAction() |
Actions |
sendKeys(java.lang.CharSequence... keysToSend)
Sends keys to the active element.
|
Actions |
sendKeys(org.openqa.selenium.WebElement element,
java.lang.CharSequence... keysToSend)
Equivalent to calling:
Actions.click(element).sendKeys(keysToSend).
This method is different from
WebElement.sendKeys(CharSequence...) - see
sendKeys(CharSequence...) for details how. |
protected org.openqa.selenium.WebDriver driver
protected org.openqa.selenium.interactions.Mouse mouse
protected org.openqa.selenium.interactions.Keyboard keyboard
protected CompositeAction action
public Actions(org.openqa.selenium.WebDriver driver)
driver
- the driver providing the implementations to use.public Actions(org.openqa.selenium.interactions.Keyboard keyboard, org.openqa.selenium.interactions.Mouse mouse)
keyboard
- the Keyboard
implementation to delegate to.mouse
- the Mouse
implementation to delegate to.public Actions(org.openqa.selenium.interactions.Keyboard keyboard)
keyboard
- implementation to delegate to.private void resetCompositeAction()
public Actions keyDown(org.openqa.selenium.Keys theKey)
theKey
- Either Keys.SHIFT
, Keys.ALT
or Keys.CONTROL
. If the
provided key is none of those, IllegalArgumentException
is thrown.public Actions keyDown(org.openqa.selenium.WebElement element, org.openqa.selenium.Keys theKey)
theKey
- Either Keys.SHIFT
, Keys.ALT
or Keys.CONTROL
. If the
provided key is none of those, IllegalArgumentException
is thrown.element
- WebElement to perform the actionkeyDown(org.openqa.selenium.Keys)
public Actions keyUp(org.openqa.selenium.Keys theKey)
theKey
- Either Keys.SHIFT
, Keys.ALT
or Keys.CONTROL
.public Actions keyUp(org.openqa.selenium.WebElement element, org.openqa.selenium.Keys theKey)
theKey
- Either Keys.SHIFT
, Keys.ALT
or Keys.CONTROL
.element
- WebElement to perform the action onon behaviour regarding non-depressed modifier keys.
public Actions sendKeys(java.lang.CharSequence... keysToSend)
WebElement.sendKeys(CharSequence...)
on the active element in two ways:
keysToSend
- The keys.WebElement.sendKeys(CharSequence...)
public Actions sendKeys(org.openqa.selenium.WebElement element, java.lang.CharSequence... keysToSend)
WebElement.sendKeys(CharSequence...)
- see
sendKeys(CharSequence...)
for details how.element
- element to focus on.keysToSend
- The keys.sendKeys(java.lang.CharSequence[])
public Actions clickAndHold(org.openqa.selenium.WebElement onElement)
onElement
- Element to move to and click.public Actions clickAndHold()
public Actions release(org.openqa.selenium.WebElement onElement)
clickAndHold()
first will result in
undefined behaviour.onElement
- Element to release the mouse button above.public Actions release()
release(org.openqa.selenium.WebElement)
public Actions click(org.openqa.selenium.WebElement onElement)
onElement
- Element to click.public Actions click()
moveToElement(org.openqa.selenium.WebElement, int, int)
or
moveByOffset(int, int)
.public Actions doubleClick(org.openqa.selenium.WebElement onElement)
onElement
- Element to move to.public Actions doubleClick()
public Actions moveToElement(org.openqa.selenium.WebElement toElement)
toElement
- element to move to.public Actions moveToElement(org.openqa.selenium.WebElement toElement, int xOffset, int yOffset)
toElement
- element to move to.xOffset
- Offset from the top-left corner. A negative value means coordinates left from
the element.yOffset
- Offset from the top-left corner. A negative value means coordinates above
the element.public Actions moveByOffset(int xOffset, int yOffset)
xOffset
- horizontal offset. A negative value means moving the mouse left.yOffset
- vertical offset. A negative value means moving the mouse up.MoveTargetOutOfBoundsException
- if the provided offset is outside the document's
boundaries.public Actions contextClick(org.openqa.selenium.WebElement onElement)
onElement
- Element to move to.public Actions contextClick()
public Actions dragAndDrop(org.openqa.selenium.WebElement source, org.openqa.selenium.WebElement target)
source
- element to emulate button down at.target
- element to move to and release the mouse at.public Actions dragAndDropBy(org.openqa.selenium.WebElement source, int xOffset, int yOffset)
source
- element to emulate button down at.xOffset
- horizontal move offset.yOffset
- vertical move offset.@Deprecated public Actions pause(long pause)
pause
- pause duration, in milliseconds.public org.openqa.selenium.interactions.Action build()
public void perform()