Selenium helps you control a web browser automatically. This lets you test websites like a real user would.
First Selenium script in Selenium Python
from selenium import webdriver from selenium.webdriver.common.by import By # Start browser driver = webdriver.Chrome() # Open a website driver.get('https://example.com') # Find an element element = driver.find_element(By.TAG_NAME, 'h1') # Check text assert element.text == 'Example Domain' # Close browser driver.quit()
Use webdriver.Chrome() to open Chrome browser.
Use By to find elements safely and clearly.
driver = webdriver.Firefox()
driver.get('https://example.com')element = driver.find_element(By.ID, 'submit-button')assert 'Welcome' in driver.title
This script opens Chrome, goes to example.com, finds the main heading, checks its text, prints a success message, and closes the browser.
from selenium import webdriver from selenium.webdriver.common.by import By # Open Chrome browser driver = webdriver.Chrome() # Go to example.com driver.get('https://example.com') # Find the main heading heading = driver.find_element(By.TAG_NAME, 'h1') # Check the heading text assert heading.text == 'Example Domain' print('Test passed: Heading text is correct.') # Close the browser driver.quit()
Make sure you have the correct browser driver installed (like chromedriver for Chrome).
Always close the browser with driver.quit() to free resources.
Use clear locators like By.ID or By.TAG_NAME for reliable tests.
Selenium scripts control browsers to test websites automatically.
Start with opening a browser, visiting a page, finding elements, checking text, and closing the browser.
Use assertions to confirm the website behaves as expected.
Practice
Solution
Step 1: Understand Selenium's role
Selenium is a tool used to control browsers automatically for testing purposes.Step 2: Match purpose with options
Only To automate browser actions for testing websites describes automating browser actions to test websites, which is Selenium's main use.Final Answer:
To automate browser actions for testing websites -> Option AQuick Check:
Selenium automates browsers = B [OK]
- Confusing Selenium with manual testing
- Thinking Selenium designs websites
- Mixing Selenium with database creation
Solution
Step 1: Recall Selenium syntax for Chrome
In Selenium Python, opening Chrome uses webdriver.Chrome() constructor.Step 2: Check options for correct syntax
Only driver = webdriver.Chrome() uses the correct constructor. Others are either for different browsers or invalid methods.Final Answer:
driver = webdriver.Chrome() -> Option CQuick Check:
Open Chrome with webdriver.Chrome() = C [OK]
- Using webdriver.Firefox() for Chrome
- Calling non-existent methods like open() or start()
- Missing parentheses after Chrome
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://example.com')
element = driver.find_element(By.TAG_NAME, 'h1')
print(element.text)
driver.quit()Solution
Step 1: Understand code actions
The code opens Chrome, navigates to example.com, finds the first <h1> element, prints its text, then closes the browser.Step 2: Analyze expected output
example.com has an <h1> with text 'Example Domain', so element.text prints that text.Final Answer:
Prints the text inside the first <h1> tag on example.com -> Option DQuick Check:
find_element(By.TAG_NAME, 'h1') gets <h1> text = D [OK]
- Thinking By.TAG_NAME is invalid
- Expecting URL printed instead of element text
- Assuming element.text is empty without checking page
from selenium import webdriver
driver = webdriver.Chrome
driver.get('https://example.com')
driver.quit()Solution
Step 1: Check webdriver.Chrome usage
webdriver.Chrome is a class; to create a driver object, parentheses are needed: webdriver.Chrome()Step 2: Review other lines for errors
URL format is correct, driver.quit() is after get().Step 3: Determine main error
Missing parentheses causes driver to be a class, not an instance, so driver.get() will fail.Final Answer:
Missing parentheses after webdriver.Chrome to create driver instance -> Option AQuick Check:
webdriver.Chrome() needs parentheses = A [OK]
- Forgetting parentheses after webdriver.Chrome
- Thinking URL format is wrong
- Confusing the order of driver.get() and driver.quit()
Solution
Step 1: Check correct assertion syntax
In Python, assert uses '==' to compare values, so 'assert driver.title == "Example Domain"' is correct.Step 2: Verify method and property names
driver.title is the correct property for page title; driver.getTitle() is incorrect in Python Selenium.Step 3: Confirm logic correctness
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://example.com') assert driver.title == 'Example Domain' driver.quit() asserts title equals 'Example Domain', which matches the requirement.Final Answer:
Correct assertion with driver.title == 'Example Domain' -> Option BQuick Check:
Use assert driver.title == 'Example Domain' = A [OK]
- Using single '=' instead of '==' in assert
- Using driver.getTitle() instead of driver.title
- Asserting title not equal instead of equal
Ready to prove it?
Pass the test and this pattern moves unknown
