There are 3 possible solutions for this:
1. Use Actions() method
WebElement element = driver.findElement(By("element_path"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().perform();
2. Before the click is performed let the page load completely using Waits
driver.manage().timeouts().implicitlywait(15 TimeUnit.seconds)
3. Because of a Spinner/Overlay on top of it, the element is not clickable:
By loadingImage = By.id("loading image ID");
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));
Hope this helps!
If you are interested to learn Selenium on a much deeper level and want to become a professional in the testing domain, check out Intellipaat’s online automation testing training!