Это вызвано следующими 3 типами:
1. Элемент не виден для нажатия.
Используйте действия или JavascriptExecutor чтобы заставить его щелкнуть.
По действиям:
WebElement element = driver.findElement(By("element_path"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().perform();
Автор JavascriptExecutor:
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("scroll(250, 0)"); // if the element is on top.
jse.executeScript("scroll(0, 250)"); // if the element is on bottom.
или
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].scrollIntoView()", Webelement);
Затем нажмите на элемент.
2. Страница обновляется, прежде чем нажать на элемент.
Для этого заставьте страницу подождать несколько секунд.
3. Элемент кликабелен, но поверх него есть спиннер / оверлей
Приведенный ниже код будет ждать, пока наложение не исчезнет
By loadingImage = By.id("loading image ID");
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));
Затем нажмите на элемент.