A design pattern where each page of the application is represented by a class. The class contains elements (locators) and methods to interact with them, separating test logic from UI details.
Implicit: Default wait time for all elements. Explicit: Waits for a specific condition (e.g., visibility). Fluent: Explicit wait with polling interval and ignored exceptions.
ID, Name, Class Name, Tag Name, Link Text, Partial Link Text, CSS Selector, XPath.
close() closes the current focused window. quit() closes all windows and ends the WebDriver session.