Skip to content
Advertisement

Python Selenium error: Unable to locate the Element by Name:

I am trying to automatically login to the website https://opensource-demo.orangehrmlive.com/web/index.php/auth/login using selenium By it gives an error

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:”css selector”,”selector”:”[name=”username”]”}

My code :

import selenium from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.chrome.service import Service

s = Service(“C:Developmentchromedriver.exe”)

driver = webdriver.Chrome(service=s)

driver.get(“https://opensource-demo.orangehrmlive.com/”)

username= driver.find_element(By.NAME,”username”)

username.send_keys(“Admin”)

I know it sounds simple but i tried different ways to find the element..still not working.

Advertisement

Answer

@Sravanthi Veera, It seems page is taking longer to load and hence find_element is fired before the page is loaded.

you can do the following:

username = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.NAME, 'username')))

#username= driver.find_element(By.NAME,"username") # commented as we are getting the element from above line. 

username.send_keys("Admin")

you will have to import the following for it to work:

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement