ElementNotVisibleException
This is a very useful exception that you will probably come across on a regular basis. It tells you that the WebElement
that you are trying to interact with is not visible to the user. It's amazing how many people don't realize how important this exception is. Remember, if the element is not visible to the user, they are not going to be able to interact with it.
Please don't ignore or try to work around this exception. You will probably come across lots of so-called "solutions" to this problem that are really nasty hacks; they usually involve some custom JavaScript to perform the desired action and totally ignore the fact that you really have a legitimate problem.
The Selenium development team has spent a lot of time trying to work out if something is visible to the user and, they have done a very good job. There is code to work out if the element is actually on the screen, or if it is a size that is too small to be seen by a person. There is even code in Selenium...