Selenium WebDriver Basics
Selenium WebDriver fundamentals for browser automation.
Setup (Python)
from selenium import webdriver
from selenium.webdriver.common.by import By
Chrome driver
driver = webdriver.Chrome()
Firefox driver
driver = webdriver.Firefox()
Open URL
driver.get("https://example.com")
Close
driver.quit()
Find Elements
By ID
element = driver.find_element(By.ID, "myId")
By class
element = driver.find_element(By.CLASS_NAME, "myClass")
By CSS selector
element = driver.find_element(By.CSS_SELECTOR, ".class #id")
By XPath
element = driver.find_element(By.XPATH, "//div[@id=myId]")
Multiple elements
elements = driver.find_elements(By.TAG_NAME, "a")
Interactions
Click
element.click()
Send keys
element.send_keys("text")
Clear
element.clear()
Get text
text = element.text
Get attribute
value = element.get_attribute("value")
Is displayed
if element.is_displayed():
print("Visible")
Waits
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
Explicit wait
wait = WebDriverWait(driver, 10)
element = wait.until(
EC.presence_of_element_located((By.ID, "myId"))
)
Implicit wait
driver.implicitly_wait(10)