There are 3 possible solutions for your problem which are as follows:
1. The first thing you can do is use the Actions() method below is the code for the same.
WebElement element = driver.findElement(By("element_path"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().perform();
2. The second way us to use Waits which will let the page load completely before the click is performed.
driver.manage().timeouts().implicitlywait(15 TimeUnit.seconds)
3. The third and the last thing is an element is not clickable because of a Spinner/Overlay on top of it:
By loadingImage = By.id("loading image ID");
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));