Implicit, Explicit, Fluent
Waits tell your script to pause until something is ready.
Implicit Wait: A default delay before throwing an error.
Explicit Wait: Wait for a specific condition.
Fluent Wait: Like explicit, but checks repeatedly.
Example (Explicit in Python):
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(browser, 10)
element = wait.until(EC.presence_of_element_located((By.ID, "login")))
Explicit waits give better control. Use them instead of fixed delays.