Comprehensive Guide to Selenium WebDriver and
SearchContext Methods
1. get()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Arguments: Takes a URL as a String
● Returns: void
● Purpose: Launches a website
Example:
WebDriver driver = new ChromeDriver();
[Link]("[Link]
2. getTitle()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Arguments: None
● Returns: Title of the page as String
● Purpose: Get the title of the current page
Example:
WebDriver driver = new ChromeDriver();
String title = [Link]();
3. getPageSource()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Arguments: None
● Returns: Source code of the page as String
● Purpose: Retrieve the HTML source of the current page
Example:
WebDriver driver = new ChromeDriver();
String pageSource = [Link]();
4. getCurrentUrl()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Arguments: None
● Returns: URL of the current page as String
● Purpose: Get the current page URL
Example:
WebDriver driver = new ChromeDriver();
String currentUrl = [Link]();
5. getWindowHandle()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Arguments: None
● Returns: Handle value of the current browser window/tab (String)
● Purpose: Retrieve current window handle
Example:
WebDriver driver = new ChromeDriver();
String windowHandle = [Link]();
6. getWindowHandles()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Arguments: None
● Returns: Set of all window handles (Set)
● Purpose: Retrieve handles of all open windows/tabs
Example:
WebDriver driver = new ChromeDriver();
Set<String> handles = [Link]();
7. close()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Arguments: None
● Returns: void
● Purpose: Close the current browser window
Example:
WebDriver driver = new ChromeDriver();
[Link]();
8. quit()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Arguments: None
● Returns: void
● Purpose: Closes all browser windows and terminates WebDriver session
Example:
WebDriver driver = new ChromeDriver();
[Link]();
9. navigate()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Returns: Navigation interface
● Purpose: Navigate through browser history
Example:
WebDriver driver = new ChromeDriver();
[Link]().to("[Link]
[Link]().back();
[Link]().forward();
[Link]().refresh();
10. switchTo()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Returns: TargetLocator interface
● Purpose: Move focus to frames, alerts, or windows
i. switchTo().frame()
Used to switch focus to a specific frame.
Sub-Methods:
● [Link]().frame(String frameNameOrId);
● [Link]().frame(int frameIndex);
● [Link]().frame(WebElement frameElement);
● [Link]().parentFrame();
● [Link]().defaultContent();
ii. switchTo().alert()
Handles browser alerts.
Alert Actions:
● .accept() – Click OK
● .dismiss() – Click Cancel
● .getText() – Get alert text
● .sendKeys() – Enter text into prompt alerts
Example:
Alert alert = [Link]().alert();
[Link]([Link]());
[Link]();
[Link]();
[Link]("Test Input");
iii. switchTo().window()
Switch between multiple tabs/windows.
Sub-Methods:
● [Link]().window(String windowHandle)
● [Link]()
● [Link]()
Example Loop:
String mainWindow = [Link]();
for (String window : [Link]()) {
[Link]().window(window);
if () {
[Link]();
}
}
[Link]().window(mainWindow);
iv. switchTo().activeElement()
Focuses on the currently active element.
Example:
WebElement activeElement = [Link]().activeElement();
[Link]([Link]());
[Link]("Testing active element");
v. [Link]().newWindow(WindowType)
Purpose: Open a new tab or window.
Example:
[Link]().newWindow([Link]);
[Link]().newWindow([Link]);
11. manage()
● Declared in: WebDriver interface
● Implemented by: RemoteWebDriver class
● Returns: Options interface
● Purpose: Manage cookies, timeouts, browser window, logs
i. Cookies
Purpose: Handle browser cookies
Sub-Methods:
● [Link]().getCookies()
● [Link]().getCookieNamed(String name)
● [Link]().addCookie(Cookie cookie)
● [Link]().deleteCookie(Cookie cookie)
● [Link]().deleteCookieNamed(String name)
● [Link]().deleteAllCookies()
ii. Timeouts
Purpose: Define time limits for browser operations
Sub-Methods:
● implicitlyWait(Duration duration)
● pageLoadTimeout(Duration duration)
● scriptTimeout(Duration duration)
iii. Window Management
Used to manage browser state, size, and position.
Locating Elements with findElement()
i. By ID
Syntax:
[Link]([Link]("element_id"))
ii. By Name
Syntax:
[Link]([Link]("element_name"))
iii. By XPath
Syntax:
[Link]([Link]("xpath_expression"))
iv. By CSS Selector
Syntax:
[Link]([Link]("css_selector"))
v. By Class Name
Syntax:
[Link]([Link]("class_name"))