python – Selenium is returning empty text for elements that definitely have ID

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time


driver = webdriver.Chrome()
driver.get('https://www.google.com')
driver.implicitly_wait(5)  # wait 5 seconds

#username_field = driver.find_element(By.XPATH, '//*[@id="APjFqb"]')
#or
username_field = driver.find_element(By.ID, 'APjFqb')


element_text = username_field.text
print("Element Text:", element_text)

Screenshot of the inspected elements

EDIT

enter image description here

I would need to extract “Please enter valid Mobile Number or Email Address”

Code Used:

driver.get("https://www.ixambee.com/login")
username_field = driver.find_element(By.ID, 'mobile_alert_valid')
element_text = username_field.text
print("Element Text:", element_text)

driver.quit()

I’m trying to extract the text from the element with attribute id=mobile_alert_valid. I don’t understand why it’s not returning the text values especially when I can see that it contains text with dev tools.

selenium Version: 4.15.2

Read more here: Source link