Selenium is a tool used to automate web browsers. It helps testers check if websites work correctly by simulating user actions like clicking buttons or filling forms.
Click to reveal answer
beginner
What is the first step in writing a Selenium script in Python?
The first step is to import the Selenium WebDriver module and set up the browser driver, like ChromeDriver, to control the browser.
Click to reveal answer
beginner
How do you open a website using Selenium in Python?
You use the 'get' method of the WebDriver instance with the website URL as the argument, for example: driver.get('https://example.com').
Click to reveal answer
beginner
Why is it important to close the browser at the end of a Selenium script?
Closing the browser frees up system resources and ensures the test ends cleanly. You do this with driver.quit() or driver.close().
Click to reveal answer
beginner
What is a locator in Selenium?
A locator is a way to find elements on a web page, like buttons or text boxes. Common locators include ID, name, class name, and XPath.
Click to reveal answer
Which Python package do you import to use Selenium WebDriver?
Aselenium.webdriver
Bselenium.browser
Cselenium.driver
Dselenium.web
✗ Incorrect
The correct package to import for Selenium WebDriver in Python is selenium.webdriver.
What method opens a webpage in Selenium WebDriver?
Aopen()
Bget()
Cload()
Dnavigate()
✗ Incorrect
The get() method is used to open a webpage by passing the URL.
Which command closes all browser windows and ends the WebDriver session?
Adriver.exit()
Bdriver.close()
Cdriver.quit()
Ddriver.stop()
✗ Incorrect
driver.quit() closes all browser windows and ends the session cleanly.
Which locator is the most reliable to find a web element?
AID
BClass name
CXPath
DTag name
✗ Incorrect
ID is usually unique and the most reliable locator to find elements.
What do you need to run Selenium scripts on Chrome browser?
AFirefoxDriver
BSafariDriver
CEdgeDriver
DChromeDriver
✗ Incorrect
ChromeDriver is required to control the Chrome browser with Selenium.
Describe the basic steps to write and run your first Selenium script in Python.
Think about what you need to start, do, and finish a test.
You got /5 concepts.
Explain why locators are important in Selenium and name some common types.
Imagine trying to click a button without knowing where it is.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of a Selenium script in software testing?
easy
A. To automate browser actions for testing websites
B. To write manual test cases on paper
C. To design website layouts
D. To create databases for applications
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 A
Quick Check:
Selenium automates browsers = B [OK]
Hint: Selenium controls browsers automatically for testing [OK]
Common Mistakes:
Confusing Selenium with manual testing
Thinking Selenium designs websites
Mixing Selenium with database creation
2. Which of the following is the correct way to open a Chrome browser using Selenium in Python?
easy
A. driver = webdriver.open('chrome')
B. driver = webdriver.Firefox()
C. driver = webdriver.Chrome()
D. driver = webdriver.start('chrome')
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 C
Quick Check:
Open Chrome with webdriver.Chrome() = C [OK]
Hint: Use webdriver.Chrome() to open Chrome browser [OK]
Common Mistakes:
Using webdriver.Firefox() for Chrome
Calling non-existent methods like open() or start()
Missing parentheses after Chrome
3. What will be the output of this Selenium Python code snippet?
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()
medium
A. Prints nothing because element.text is empty
B. Throws an error because By.TAG_NAME is invalid
C. Prints the URL 'https://example.com'
D. Prints the text inside the first <h1> tag on example.com
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 D
Quick Check:
find_element(By.TAG_NAME, 'h1') gets <h1> text = D [OK]
Hint: find_element with By.TAG_NAME gets first matching tag text [OK]
Common Mistakes:
Thinking By.TAG_NAME is invalid
Expecting URL printed instead of element text
Assuming element.text is empty without checking page
4. Identify the error in this Selenium Python script:
from selenium import webdriver
driver = webdriver.Chrome
driver.get('https://example.com')
driver.quit()
medium
A. Missing parentheses after webdriver.Chrome to create driver instance
B. Incorrect URL format in driver.get() method
C. driver.quit() is called before opening browser
D. Indentation error on driver.get() line is invalid in Python
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 A
Quick Check:
webdriver.Chrome() needs parentheses = A [OK]
Hint: Always add () after webdriver.Chrome to create driver [OK]
Common Mistakes:
Forgetting parentheses after webdriver.Chrome
Thinking URL format is wrong
Confusing the order of driver.get() and driver.quit()
5. You want to write a Selenium script that opens Chrome, goes to 'https://example.com', checks if the page title is 'Example Domain', and then closes the browser. Which code snippet correctly does this with an assertion?
hard
A. from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://example.com')
assert driver.title = 'Example Domain'
driver.quit()
B. from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://example.com')
assert driver.title == 'Example Domain'
driver.quit()
C. from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://example.com')
assert driver.title != 'Example Domain'
driver.quit()
D. from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://example.com')
assert driver.getTitle() == 'Example Domain'
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 B
Quick Check:
Use assert driver.title == 'Example Domain' = A [OK]
Hint: Use assert with '==' and driver.title property [OK]
Common Mistakes:
Using single '=' instead of '==' in assert
Using driver.getTitle() instead of driver.title
Asserting title not equal instead of equal
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.