A · WebDriver CoreBeginner55 min read
2. WebDriver mental model & first script
Selenium WebDriver · 48 pages source format
Driver talks to browser via W3C WebDriver protocol. Sessions, findElement, click, sendKeys. Always quit driver in finally hook.
What you'll learn
- Driver lifecycle
- By locators
- First navigation and assert
Hello WebDriver
Selenium Manager auto-downloads drivers (Selenium 4.6+). Start Chrome, open page, assert title, quit.
# Python
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
try:
driver.get("https://the-internet.herokuapp.com/")
assert "Internet" in driver.title
finally:
driver.quit()Do this now
Script: open the-internet.herokuapp.com, assert title contains "Internet", quit in finally.
Clear?
Locator strategies
By.ID, By.NAME, By.CSS_SELECTOR, By.XPATH (last resort). Prefer stable IDs and CSS.
Do this now
Navigate to /login. Find username field by ID. Submit form.
Clear?
Clean lifecycle
driver.quit() closes browser and session. driver.close() closes tab only. Use quit always.
Do this now
Wrap driver in try/finally or pytest fixture with yield teardown.
Clear?