- Selenium WebDriver Quick Start Guide
- Pinakin Chaubal
- 348字
- 2021-06-24 18:26:29
Dissecting the By class
The By class is an abstract class that has eight static methods and eight inner classes. Let's understand the structure of the By class.
The following code skeleton shows a fragment of the structure of the By class:
public abstract class By {
public static By id(String id);
public static By cssSelector(String css);
public static By name(String name);
public static By linkText(String text);
public static By className(String className);
public static By tagName(String tagName);
public static By partialLinkText(String partialLinkText);
public static By xpath(String xpath);
public static class ById extends By {
WebElement findElement(By by);
List <WebElement> findElements(By by);
}
}
Inner classes similar to ById exist for name, linkText, xpath, and so on. We will be using the two static methods xpath and cssSelector to design what are called customized xpath and css. Let's try to understand the various mechanisms to access the DOM elements. There are eight ways to access WebElements using the static methods in the By class. We will just be covering access using static methods.
We will look at each of the eight methods individually, and then we will adopt a better approach using the relative (customized) XPath, which will cover each method internally:
- By.id: Uses the id attribute of the element to locate. For example, By.id("userid").
- By.name: Uses the name attribute of the element to locate. For example, By.name("username").
- By.className: Uses the class attribute of the element to locate. For example, By.className("class1").
- By.linkText: Uses the text of any anchor link to locate. For example, By.linkText("Click here to Login").
- By.partialLinkText: Uses the partial text of any anchor link to locate. For example, By.partialLinkText("Login").
- By.xpath: Uses the XPath of the element to locate. For example, By.xpath("http://*[text()='Login']").
- By.cssSelector: Uses CSS selectors to locate. For example, By.cssSelector(".ctrl-p").
- By.tagName: Uses tag names, such as input, button, select, and so on to locate. For example, By.tagName("input").
- Implementing Cisco UCS Solutions
- Windows Vista基礎與應用精品教程
- PLC控制程序精編108例
- Linux Mint Essentials
- Linux從零開始學(視頻教學版)
- 精通Linux內核開發(fā)
- 開源安全運維平臺OSSIM疑難解析:入門篇
- 嵌入式操作系統(tǒng)(Linux篇)(微課版)
- 奔跑吧 Linux內核(入門篇)
- 嵌入式Linux應用開發(fā)菜鳥進階
- 深入淺出Node.js
- Windows 7使用詳解(修訂版)
- 鴻蒙操作系統(tǒng)設計原理與架構
- Mastering Windows 8 C++ App Development
- Zabbix監(jiān)控系統(tǒng)之深度解析和實踐