ElementNotVisible Exception in Selenium

In Selenium, different methods can be used to reference an element. These include finding elements by username, id, xpath, etc.

However, if Selenium cannot find the element referenced, it returns the following error:

ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with
svg viewer

Solution

The following solutions can be tried to ensure that the problem is solved.

  1. This error may occur if selenium starts finding the element before the page is loaded. Sleep will not work since every device requires a different amount of time to load the webpage. The easiest way to resolve this is to use the following.
// Wait until an element with id password appears 
password  = WebDriverWait(driver, 3).until(EC.visibility_of_element_located((By.id, "password")))
  1. Another reason could be that javascript embedded fake elements that can’t be detected by selenium. To solve this use the following.
driver.execute_script("document.querySelectorAll('label.boxed')[2].click()")

This code will select the second object in an array of objects and click on it.

  1. Another solution could be finding the element immediately before the target element. Then, press the tab to move onto the next element.
//find the element preceding the target element
username = br.find_element_by_name("username")

// use tab to move to the next hidden element.
username.send_keys(Keys.TAB)

//now you can send your password
username.send_keys("your password")
New on Educative
Learn to Code
Learn any Language as a beginner
Develop a human edge in an AI powered world and learn to code with AI from our beginner friendly catalog
🏆 Leaderboard
Daily Coding Challenge
Solve a new coding challenge every day and climb the leaderboard

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved