The correct way is to find the element and then use the text property.
What does element.text NOT include?
AHidden text by CSS
BText inside child elements
CVisible text inside the element
DWhitespace trimmed from text
✗ Incorrect
element.text excludes text hidden by CSS because it only returns visible text.
Explain how to get the visible text from a web element using Selenium in Python.
Think about how you find an element and then read its text.
You got /3 concepts.
Describe why sometimes element.text might return an empty string and how to fix it.
Consider visibility and timing issues.
You got /4 concepts.
Practice
(1/5)
1. What does the .text property do in Selenium when used on a web element?
easy
A. It retrieves the visible text inside the element on the webpage.
B. It clicks the element on the webpage.
C. It returns the HTML code of the element.
D. It clears the text inside an input field.
Solution
Step 1: Understand the purpose of .text
The .text property in Selenium is used to get the visible text content from a web element.
Step 2: Compare with other actions
Clicking, returning HTML, or clearing text are different actions and not related to .text.
Final Answer:
It retrieves the visible text inside the element on the webpage. -> Option A
Quick Check:
.text gets visible text [OK]
Hint: Remember: .text always gets visible text from element [OK]
Common Mistakes:
Confusing .text with .click() method
Expecting .text to return HTML code
Using .text to clear input fields
2. Which of the following is the correct syntax to get the text of a web element stored in variable element in Selenium Python?
easy
A. element.getText()
B. element.text()
C. element.get_text()
D. element.text
Solution
Step 1: Recall Selenium Python syntax for text retrieval
In Selenium Python, the visible text of an element is accessed using the property .text without parentheses.
Step 2: Check other options for correctness
getText() and get_text() are not valid in Selenium Python. text() with parentheses is incorrect because text is a property, not a method.
Final Answer:
element.text -> Option D
Quick Check:
Use property .text without parentheses [OK]
Hint: Use element.text without () to get text [OK]
Common Mistakes:
Adding parentheses after .text
Using Java-style getText() in Python
Using incorrect method names like get_text()
3. What will be the output of the following Selenium Python code snippet?
from selenium import webdriver
from selenium.webdriver.common.by import By
# Assume driver is already initialized and page loaded
button = driver.find_element(By.ID, "submit-btn")
print(button.text)
Assuming the button on the page shows the label "Submit Form", what will be printed?
medium
A. "submit-btn"
B. An empty string ""
C. "Submit Form"
D. Raises NoSuchElementException
Solution
Step 1: Locate element and get text
The code finds the element with ID "submit-btn" and prints its visible text using .text.
Step 2: Understand what .text returns
The visible label on the button is "Submit Form", so button.text returns this string.
Final Answer:
"Submit Form" -> Option C
Quick Check:
Element text matches visible label [OK]
Hint: Text property prints visible label, not element ID [OK]
Common Mistakes:
Expecting element ID instead of visible text
Assuming empty string if element found
Confusing element attribute with text
4. You wrote this code to get text from a web element:
A. Using parentheses after .text which is a property, not a method.
B. Incorrect locator strategy; CLASS_NAME is invalid.
C. Missing import for By class.
D. The element with class "title" does not exist.
Solution
Step 1: Check usage of .text property
In Selenium Python, .text is a property and should not have parentheses. Using .text() causes a TypeError.
Step 2: Verify other options
CLASS_NAME is a valid locator, imports are assumed correct, and element existence is not guaranteed but error is about syntax here.
Final Answer:
Using parentheses after .text which is a property, not a method. -> Option A
Quick Check:
Use .text without () to avoid errors [OK]
Hint: Remember: .text is a property, no parentheses [OK]
Common Mistakes:
Calling .text as a method with ()
Confusing locator validity
Assuming missing imports cause this error
5. You want to verify that a paragraph with id "info" contains the exact text "Welcome to the site!". Which Selenium Python assertion is correct to check this?
hard
A. assert driver.find_element(By.ID, "info").getText() == "Welcome to the site!"
B. assert driver.find_element(By.ID, "info").text == "Welcome to the site!"
C. assert driver.find_element(By.ID, "info").text() == "Welcome to the site!"
D. assert driver.find_element(By.ID, "info").get_text == "Welcome to the site!"
Solution
Step 1: Use correct property to get text
In Selenium Python, use .text property without parentheses to get visible text.
Step 2: Write assertion correctly
The assertion compares the text property to the expected string exactly.
Step 3: Identify incorrect options
getText() and get_text are invalid in Selenium Python; text() with parentheses is wrong.
Final Answer:
assert driver.find_element(By.ID, "info").text == "Welcome to the site!" -> Option B
Quick Check:
Use .text property in assertion without () [OK]
Hint: Assert with .text property, no parentheses [OK]
Common Mistakes:
Using .text() with parentheses in assertion
Using Java-style getText() method
Using get_text property which doesn't exist
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.