findx
The command to get a list of Elements that match the XPath selector.
Syntax
py.findx(xpath: str) -> Elements
py.findx(xpath: str, timeout: int) -> Elements
---or---
Element.findx(xpath: str) -> Elements
Element.findx(xpath: str, timeout: int) -> Elements
Usage
# Yield all Elements in .nav with tag name of a
py.get(".nav").findx("//a")
---or---
# Yield all Elements in document with id of 'button'
py.findx("//*[@id='button']")
---or--- # store in a variable
elements = py.findx("//*[@id='button']")
---or--- # chain an Element(s) command
# if one element is found, still returns a list of 1: [Element]
py.findx("//*[@id='button']").first().click()
---or--- # control the timeout in any of the above usages
py.findx("//a[@href='/about']", timeout=5).length()
# Errors, 'title' does not yield Element
py.title().findx("//a")
---or---
# Errors, 'get_cookie' does not yield Element
py.get_cookie().findx("//[text()='foo' and @class='bar']")
Arguments
xpath (str)
- The XPATH selector to usetimeout=None (int)
- The number of seconds for this command to succeed.timeout=None
will use the default wait_time in pylenium.jsontimeout=0
will poll the DOM immediately with no waitGreater than zero will override the default wait_time
Yields
Elements - The list of elements found.
If none are found, returns an empty list
If one or more are found, return the list normally
Examples
# There should be 3 `a` elements
py.findx("//a").should().have_length(3)
Last updated