public class Actions
extends java.lang.Object
Implements the builder pattern: Builds a CompositeAction containing all actions specified by the method calls.
Modifier and Type | Field and Description |
---|---|
protected CompositeAction |
action |
Modifier and Type | Method and Description |
---|---|
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(WebElement target)
Clicks in the middle of the given element.
|
Actions |
clickAndHold()
Clicks (without releasing) at the current mouse location.
|
Actions |
clickAndHold(WebElement target)
Clicks (without releasing) in the middle of the given element.
|
Actions |
contextClick()
Performs a context-click at the current mouse location.
|
Actions |
contextClick(WebElement target)
Performs a context-click at middle of the given element.
|
Actions |
doubleClick()
Performs a double-click at the current mouse location.
|
Actions |
doubleClick(WebElement target)
Performs a double-click at middle of the given element.
|
Actions |
dragAndDrop(WebElement source,
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(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(java.lang.CharSequence key)
Performs a modifier key press.
|
Actions |
keyDown(WebElement target,
java.lang.CharSequence key)
Performs a modifier key press after focusing on an element.
|
Actions |
keyUp(java.lang.CharSequence key)
Performs a modifier key release.
|
Actions |
keyUp(WebElement target,
java.lang.CharSequence key)
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(WebElement target)
Moves the mouse to the middle of the element.
|
Actions |
moveToElement(WebElement target,
int xOffset,
int yOffset)
Moves the mouse to an offset from the top-left corner of the element.
|
Actions |
pause(java.time.Duration duration) |
Actions |
pause(long pause)
Performs a pause.
|
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(WebElement target)
Releases the depressed left mouse button, in the middle of the given element.
|
Actions |
sendKeys(java.lang.CharSequence... keys)
Sends keys to the active element.
|
Actions |
sendKeys(WebElement target,
java.lang.CharSequence... keys)
Equivalent to calling:
Actions.click(element).sendKeys(keysToSend).
This method is different from
WebElement.sendKeys(CharSequence...) - see
sendKeys(CharSequence...) for details how. |
Actions |
tick(Action action) |
Actions |
tick(Interaction... actions) |
protected CompositeAction action
public Actions(WebDriver driver)
public Actions keyDown(java.lang.CharSequence key)
key
- Either Keys.SHIFT
, Keys.ALT
or Keys.CONTROL
. If the
provided key is none of those, IllegalArgumentException
is thrown.public Actions keyDown(WebElement target, java.lang.CharSequence key)
key
- Either Keys.SHIFT
, Keys.ALT
or Keys.CONTROL
. If the
provided key is none of those, IllegalArgumentException
is thrown.target
- WebElement to perform the actionkeyDown(CharSequence)
public Actions keyUp(java.lang.CharSequence key)
key
- Either Keys.SHIFT
, Keys.ALT
or Keys.CONTROL
.public Actions keyUp(WebElement target, java.lang.CharSequence key)
key
- Either Keys.SHIFT
, Keys.ALT
or Keys.CONTROL
.target
- WebElement to perform the action onon behaviour regarding non-depressed modifier keys.
public Actions sendKeys(java.lang.CharSequence... keys)
WebElement.sendKeys(CharSequence...)
on the active element in two ways:
keys
- The keys.java.lang.IllegalArgumentException
- if keys is nullWebElement.sendKeys(CharSequence...)
public Actions sendKeys(WebElement target, java.lang.CharSequence... keys)
WebElement.sendKeys(CharSequence...)
- see
sendKeys(CharSequence...)
for details how.target
- element to focus on.keys
- The keys.java.lang.IllegalArgumentException
- if keys is nullsendKeys(java.lang.CharSequence[])
public Actions clickAndHold(WebElement target)
target
- Element to move to and click.public Actions clickAndHold()
public Actions release(WebElement target)
clickAndHold()
first will result in
undefined behaviour.target
- Element to release the mouse button above.public Actions release()
release(org.openqa.selenium.WebElement)
public Actions click(WebElement target)
target
- Element to click.public Actions click()
moveToElement(org.openqa.selenium.WebElement, int, int)
or
moveByOffset(int, int)
.public Actions doubleClick(WebElement target)
target
- Element to move to.public Actions doubleClick()
public Actions moveToElement(WebElement target)
target
- element to move to.public Actions moveToElement(WebElement target, int xOffset, int yOffset)
target
- 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(WebElement target)
target
- Element to move to.public Actions contextClick()
public Actions dragAndDrop(WebElement source, WebElement target)
source
- element to emulate button down at.target
- element to move to and release the mouse at.public Actions dragAndDropBy(WebElement source, int xOffset, int yOffset)
source
- element to emulate button down at.xOffset
- horizontal move offset.yOffset
- vertical move offset.public Actions pause(long pause)
pause
- pause duration, in milliseconds.public Actions pause(java.time.Duration duration)
public Actions tick(Interaction... actions)
public Action build()
build()
will contain fresh
sequences).public void perform()