Class SingleBrowserPath
- java.lang.Object
-
- com.github.loyada.jdollarx.singlebrowser.SingleBrowserPath
-
-
Field Summary
Fields Modifier and Type Field Description static SingleBrowserPath
anchor
static SingleBrowserPath
body
static SingleBrowserPath
button
static SingleBrowserPath
div
static SingleBrowserPath
element
static SingleBrowserPath
form
static SingleBrowserPath
header
static SingleBrowserPath
header1
static SingleBrowserPath
header2
static SingleBrowserPath
header3
static SingleBrowserPath
header4
static SingleBrowserPath
header5
static SingleBrowserPath
header6
static SingleBrowserPath
html
static SingleBrowserPath
input
static SingleBrowserPath
listItem
static SingleBrowserPath
section
static SingleBrowserPath
span
static SingleBrowserPath
svg
static SingleBrowserPath
unorderedList
-
Constructor Summary
Constructors Constructor Description SingleBrowserPath(BasicPath path)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Path
after(Path another)
The element appears after the given pathPath
afterSibling(Path another)
The element is a sibling of the given path, and appears after itPath
ancestorOf(Path another)
The element contains the given path, i.e.Path
and(ElementProperty... prop)
Alias equivalent toPath.that(com.github.loyada.jdollarx.ElementProperty...)
.Path
before(Path another)
The element appears before the given pathPath
beforeSibling(Path another)
The element is a sibling of the given path, and appears before itPath
childOf(Path another)
The element is a direct child of the given pathvoid
click()
click at the location of this elementPath
containing(Path another)
The element contains the given path, i.e.Path
contains(Path another)
The element contains the given path, i.e.Path
descendantOf(Path another)
The element is contained in the given path element, i.e.Path
describedBy(String description)
A useful method to give a readable description to the path, for example: Suppose that instead of describing it's DOM positions and attributes, you prefer to describe it as "search result".void
doubleClick()
doubleclick at the location of this elementOperations.DragAndDrop
dragAndDrop()
drag and drop this element, to another element or another location.org.openqa.selenium.WebElement
find()
Find the (first) element in the browser for this pathList<org.openqa.selenium.WebElement>
findAll()
Find all elements in the browser with this pathOptional<String>
getAlternateXPath()
Optional<String>
getDescribedBy()
List<ElementProperty>
getElementProperties()
Optional<org.openqa.selenium.WebElement>
getUnderlyingSource()
Optional<String>
getXPath()
The Optional xpath is maps to.Optional<String>
getXpathExplanation()
void
hover()
hover over the element with this path in the browserPath
immediatelyAfterSibling(Path another)
The sibling right before the element matches the given path parameterPath
immediatelyBeforeSibling(Path another)
The sibling right after the element matches the given path parameterPath
inside(Path another)
Element that is inside another elementPath
insideTopLevel()
Returns an element that is explicitly inside the document.Path
or(Path another)
match more than a single path.Path
parentOf(Path another)
The element is a parent of the given pathvoid
rightClick()
right click at the location of this elementorg.openqa.selenium.WebElement
scrollTo()
scroll the browser until this element is visiblevoid
sendKeys(CharSequence... charsToSend)
send keys to elementPath
that(ElementProperty... prop)
returns a path with the provided properties.String
toString()
Path
withClass(String cssClass)
The element has the given class namePath
withClasses(String... cssClasses)
The element has the given class namesPath
withGlobalIndex(Integer index)
Return the nth occurrence of the element in the entire document.Path
withText(String txt)
Element with text equals (ignoring case) to txt.Path
withTextContaining(String txt)
The element has text, containing the given txt parameter.
-
-
-
Field Detail
-
element
public static final SingleBrowserPath element
-
div
public static final SingleBrowserPath div
-
span
public static final SingleBrowserPath span
-
listItem
public static final SingleBrowserPath listItem
-
button
public static final SingleBrowserPath button
-
unorderedList
public static final SingleBrowserPath unorderedList
-
input
public static final SingleBrowserPath input
-
anchor
public static final SingleBrowserPath anchor
-
form
public static final SingleBrowserPath form
-
html
public static final SingleBrowserPath html
-
body
public static final SingleBrowserPath body
-
header1
public static final SingleBrowserPath header1
-
header2
public static final SingleBrowserPath header2
-
header3
public static final SingleBrowserPath header3
-
header4
public static final SingleBrowserPath header4
-
header5
public static final SingleBrowserPath header5
-
header6
public static final SingleBrowserPath header6
-
header
public static final SingleBrowserPath header
-
svg
public static final SingleBrowserPath svg
-
section
public static final SingleBrowserPath section
-
-
Constructor Detail
-
SingleBrowserPath
public SingleBrowserPath(BasicPath path)
-
-
Method Detail
-
getUnderlyingSource
public Optional<org.openqa.selenium.WebElement> getUnderlyingSource()
- Specified by:
getUnderlyingSource
in interfacePath
- Returns:
- The WebElement that is used as the underlying reference for the Path. In most cases, this Optional is empty.
-
getXpathExplanation
public Optional<String> getXpathExplanation()
- Specified by:
getXpathExplanation
in interfacePath
-
getDescribedBy
public Optional<String> getDescribedBy()
- Specified by:
getDescribedBy
in interfacePath
- Returns:
- optional readable functional description of the Path
-
getAlternateXPath
public Optional<String> getAlternateXPath()
- Specified by:
getAlternateXPath
in interfacePath
- Returns:
- Should not be used unless you are developing for DollarX.
-
getXPath
public Optional<String> getXPath()
Description copied from interface:Path
The Optional xpath is maps to. Note that the prefix that marks it is inside the document (for example; "//" as the prefix of the xpath) can be omitted. This is not a concern - it will be added automatically by DollarX when interacting with the browser.
-
getElementProperties
public List<ElementProperty> getElementProperties()
- Specified by:
getElementProperties
in interfacePath
- Returns:
- Should not be typically used, unless you are developing for DollarX
-
describedBy
public Path describedBy(String description)
Description copied from interface:Path
A useful method to give a readable description to the path, for example: Suppose that instead of describing it's DOM positions and attributes, you prefer to describe it as "search result". Then you'd call: searchResult = myElement.describedBy("search result"); Now, calling System.out.println(firstOccurrenceOf(searchResult)), will print: "first occurrence of search result" This will replace its toString() result.- Specified by:
describedBy
in interfacePath
- Parameters:
description
- a readable description to that expresses the functionality of the path- Returns:
- a new Path similar to the old one but that is described by the given description
-
insideTopLevel
public Path insideTopLevel()
Description copied from interface:Path
Returns an element that is explicitly inside the document. This is usually not needed - it will be added implicitly when needed.- Specified by:
insideTopLevel
in interfacePath
- Returns:
- a new Path
-
or
public Path or(Path another)
Description copied from interface:Path
match more than a single path. Example: div.or(span) - matches both div and span
-
that
public Path that(ElementProperty... prop)
Description copied from interface:Path
returns a path with the provided properties. For example: div.that(hasText("abc"), hasClass("foo"));
-
and
public Path and(ElementProperty... prop)
Description copied from interface:Path
Alias equivalent toPath.that(com.github.loyada.jdollarx.ElementProperty...)
. Added for readability. Example:div.that(hasClass("a")).and(hasText("foo"));
-
inside
public Path inside(Path another)
Description copied from interface:Path
Element that is inside another element
-
afterSibling
public Path afterSibling(Path another)
Description copied from interface:Path
The element is a sibling of the given path, and appears after it- Specified by:
afterSibling
in interfacePath
- Parameters:
another
- - the sibling element that appears before- Returns:
- a new Path with the added constraint
-
immediatelyAfterSibling
public Path immediatelyAfterSibling(Path another)
Description copied from interface:Path
The sibling right before the element matches the given path parameter- Specified by:
immediatelyAfterSibling
in interfacePath
- Parameters:
another
- - the sibling element that appears after- Returns:
- a new path with the added constraint
-
after
public Path after(Path another)
Description copied from interface:Path
The element appears after the given path
-
beforeSibling
public Path beforeSibling(Path another)
Description copied from interface:Path
The element is a sibling of the given path, and appears before it- Specified by:
beforeSibling
in interfacePath
- Parameters:
another
- - the sibling element that appears after- Returns:
- a new Path with the added constraint
-
immediatelyBeforeSibling
public Path immediatelyBeforeSibling(Path another)
Description copied from interface:Path
The sibling right after the element matches the given path parameter- Specified by:
immediatelyBeforeSibling
in interfacePath
- Parameters:
another
- - the sibling element that appears after- Returns:
- a new path with the added constraint
-
before
public Path before(Path another)
Description copied from interface:Path
The element appears before the given path
-
childOf
public Path childOf(Path another)
Description copied from interface:Path
The element is a direct child of the given path
-
parentOf
public Path parentOf(Path another)
Description copied from interface:Path
The element is a parent of the given path
-
containing
public Path containing(Path another)
Description copied from interface:Path
The element contains the given path, i.e. the given path parameter is inside the element- Specified by:
containing
in interfacePath
- Parameters:
another
- - the element that is inside our element- Returns:
- a new Path with the added constraint
-
contains
public Path contains(Path another)
Description copied from interface:Path
The element contains the given path, i.e. the given path parameter is inside the element
-
ancestorOf
public Path ancestorOf(Path another)
Description copied from interface:Path
The element contains the given path, i.e. the given path parameter is inside the element- Specified by:
ancestorOf
in interfacePath
- Parameters:
another
- - the element that is inside our element- Returns:
- a new Path with the added constraint
-
descendantOf
public Path descendantOf(Path another)
Description copied from interface:Path
The element is contained in the given path element, i.e. the given path parameter is wrapping it- Specified by:
descendantOf
in interfacePath
- Parameters:
another
- - the element that is wrapping our element- Returns:
- a new Path with the added constraint
-
withGlobalIndex
public Path withGlobalIndex(Integer index)
Description copied from interface:Path
Return the nth occurrence of the element in the entire document. Count starts at 1. The following expressions are equivalent: occurrenceNumber(4).of(myElement)); myElement.withGlobalIndex(4); Return the nth occurrence of the element in the entire document. Count starts at 1. For example: occurrenceNumber(3).of(listItem)- Specified by:
withGlobalIndex
in interfacePath
- Parameters:
index
- the number of occurrence- Returns:
- a new Path with the added constraint
-
withClass
public Path withClass(String cssClass)
Description copied from interface:Path
The element has the given class name
-
withClasses
public Path withClasses(String... cssClasses)
Description copied from interface:Path
The element has the given class names- Specified by:
withClasses
in interfacePath
- Parameters:
cssClasses
- the class names- Returns:
- a new Path with the added constraint
-
withText
public Path withText(String txt)
Description copied from interface:Path
Element with text equals (ignoring case) to txt. Equivalent topath.that(hasText(txt))
-
withTextContaining
public Path withTextContaining(String txt)
Description copied from interface:Path
The element has text, containing the given txt parameter. The match is case insensitive.- Specified by:
withTextContaining
in interfacePath
- Parameters:
txt
- the text to match to- Returns:
- a new Path with the added constraint
-
find
public org.openqa.selenium.WebElement find()
Find the (first) element in the browser for this path- Returns:
- the WebElement
-
findAll
public List<org.openqa.selenium.WebElement> findAll()
Find all elements in the browser with this path- Returns:
- a list of all WebElements with this path
-
scrollTo
public org.openqa.selenium.WebElement scrollTo()
scroll the browser until this element is visible- Returns:
- the WebElement that was scrolled to
-
hover
public void hover()
hover over the element with this path in the browser
-
rightClick
public void rightClick()
right click at the location of this element
-
click
public void click()
click at the location of this element
-
doubleClick
public void doubleClick()
doubleclick at the location of this element
-
dragAndDrop
public Operations.DragAndDrop dragAndDrop()
drag and drop this element, to another element or another location. Examples:element.dragAndDrop().to(anotherElement); element.dragAndDrop().to(50, 50);
- Returns:
- DragAndDrop instance. See examples for usage.
-
sendKeys
public void sendKeys(CharSequence... charsToSend) throws Operations.OperationFailedException
send keys to element- Parameters:
charsToSend
- the keys to send. Examples:input.sendKeys("abc"); input.sendKeys("a", "bc");
- Throws:
Operations.OperationFailedException
- - operation failed. Includes root cause.
-
-