Package org.openqa.selenium
Class By
java.lang.Object
org.openqa.selenium.By
- Direct Known Subclasses:
By.ByClassName,By.ByCssSelector,By.ById,By.ByLinkText,By.ByName,By.ByPartialLinkText,By.ByTagName,By.ByXPath,ByAll,ByChained,ByIdOrName,RelativeLocator.RelativeBy
Mechanism used to locate elements within a document. In order to create your own locating mechanisms, it is possible to subclass this class and override the protected methods as required, though it is expected that all subclasses rely on the basic finding mechanisms provided through static methods of this class:
public WebElement findElement(WebDriver driver) { WebElement element = driver.findElement(By.id(getSelector())); if (element == null) element = driver.findElement(By.name(getSelector()); return element; }Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic interfaceConstructor Summary
ConstructorsMethod Summary
Modifier and TypeMethodDescriptionstaticByFind elements based on the value of the "class" attribute.staticBycssSelector(String cssSelector) Find elements via the driver's underlying W3C Selector engine.booleanfindElement(SearchContext context) Find a single element.abstractList<WebElement> findElements(SearchContext context) Find many elements.protectedJavascriptExecutorgetJavascriptExecutor(SearchContext context) protectedWebDrivergetWebDriver(SearchContext context) inthashCode()staticBystaticBystaticBystaticBypartialLinkText(String partialLinkText) staticBytoString()staticBy
Constructor Details
By
public By()
Method Details
id
- Parameters:
id- The value of the "id" attribute to search for.- Returns:
- A By which locates elements by the value of the "id" attribute.
linkText
- Parameters:
linkText- The exact text to match against.- Returns:
- A By which locates A elements by the exact text it displays.
partialLinkText
- Parameters:
partialLinkText- The partial text to match against- Returns:
- a By which locates elements that contain the given link text.
name
- Parameters:
name- The value of the "name" attribute to search for.- Returns:
- A By which locates elements by the value of the "name" attribute.
tagName
- Parameters:
tagName- The element's tag name.- Returns:
- A By which locates elements by their tag name.
xpath
- Parameters:
xpathExpression- The XPath to use.- Returns:
- A By which locates elements via XPath.
className
Find elements based on the value of the "class" attribute. Only one class name should be used. If an element has multiple classes, please usecssSelector(String).- Parameters:
className- The value of the "class" attribute to search for.- Returns:
- A By which locates elements by the value of the "class" attribute.
cssSelector
Find elements via the driver's underlying W3C Selector engine. If the browser does not implement the Selector API, the best effort is made to emulate the API. In this case, we strive for at least CSS2 support, but offer no guarantees.- Parameters:
cssSelector- CSS expression.- Returns:
- A By which locates elements by CSS.
findElement
Find a single element. Override this method if necessary.- Parameters:
context- A context to use to find the element.- Returns:
- The WebElement that matches the selector.
findElements
Find many elements.- Parameters:
context- A context to use to find the elements.- Returns:
- A list of WebElements matching the selector.
getWebDriver
getJavascriptExecutor
equals
hashCode
public int hashCode()toString