Challenge - 5 Problems
Text Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this Selenium Python code snippet?
Consider the following Selenium Python code that fetches text from a web element. What will be printed?
Selenium Python
from selenium.webdriver.common.by import By from selenium.webdriver.chrome.webdriver import WebDriver class DummyDriver(WebDriver): def find_element(self, by, value): class Element: text = "Hello World" return Element() # Simulate driver driver = DummyDriver() element = driver.find_element(By.ID, "greeting") print(element.text)
Attempts:
2 left
💡 Hint
The text attribute of the element contains the visible text.
✗ Incorrect
The element's text attribute holds the visible text content. Here, it is set to 'Hello World', so printing element.text outputs 'Hello World'.
❓ assertion
intermediate1:30remaining
Which assertion correctly verifies the text of a web element?
You want to check that the text of a web element is exactly 'Submit'. Which assertion statement is correct?
Selenium Python
element_text = "Submit" # Assume this is fetched from element.text
Attempts:
2 left
💡 Hint
Use Python's equality operator to compare strings.
✗ Incorrect
In Python, '==' compares string values correctly. 'equals' is not a Python string method, and 'is' checks identity, not equality.
❓ locator
advanced2:00remaining
Which locator is best to get the text of a button with text 'Cancel'?
You want to locate a button element by its visible text 'Cancel' to get its text. Which locator is best?
Attempts:
2 left
💡 Hint
Use XPath to locate elements by exact text content.
✗ Incorrect
XPath with text() matches elements by their exact visible text. ID and class name 'Cancel' are unlikely to match the button text. CSS :contains is not supported in Selenium.
🔧 Debug
advanced2:30remaining
Why does this code raise an AttributeError when getting element text?
Given this code snippet, why does it raise AttributeError: 'NoneType' object has no attribute 'text'?
Selenium Python
element = driver.find_element(By.ID, "nonexistent") print(element.text)
Attempts:
2 left
💡 Hint
Check what find_element returns if no element matches.
✗ Incorrect
If find_element does not find an element, it raises NoSuchElementException, but if code catches it and assigns None, then accessing text causes AttributeError. The error means element is None.
❓ framework
expert3:00remaining
In a pytest Selenium test, which code snippet correctly asserts the text of a web element?
You want to write a pytest test that asserts a web element's text is 'Login'. Which snippet is correct?
Selenium Python
from selenium.webdriver.common.by import By from selenium import webdriver import pytest def test_login_button_text(): driver = webdriver.Chrome() driver.get('https://example.com') element = driver.find_element(By.ID, 'login-btn') # Assertion here driver.quit()
Attempts:
2 left
💡 Hint
Check the correct attribute or method to get text in Selenium Python.
✗ Incorrect
In Selenium Python, element.text is a property, not a method. get_text() and getText do not exist. text() is invalid syntax.