Im using Selenium to open a page. After I open the page, I want to click a some sort of refresh button. When I click it, Im getting this error:

> 
> ElementNotVisibleError: element not visible
> 
> 
> 

This is the code I use to click the button: 

`driver.findElement(By.id(id)).click();`

My guess is that the button goes not visible whenever it is pushed. And that maybe it starts off not visible as well. Cause it doesnt do a full page refresh.

Any way for selenium to check if something is visible, and maybe wait until it is?

Edit:
As it turns out, there are multiple buttons with the same ID. And the button I am trying to reach are way down. I tried to find the button with `By.xpath`, but I still couldnt find it. The way I did it, was to search for button by id, like this `//button[contains(@id, 'abc')][1]`. (Different number of course).

Selenium could not find the element, but I could find it with Chrome developer tools. Any suggestions?