Cela est dû aux 3 types suivants:
1. L'élément n'est pas visible à cliquer.
Utilisez Actions ou JavascriptExecutor pour le faire cliquer.
Par actions:
WebElement element = driver.findElement(By("element_path"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().perform();
Par 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.
ou
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].scrollIntoView()", Webelement);
Cliquez ensuite sur l'élément.
2.La page est actualisée avant de cliquer sur l'élément.
Pour cela, faites patienter la page pendant quelques secondes.
3. L'élément est cliquable mais il y a un spinner / superposition dessus
Le code ci-dessous attendra la disparition de la superposition
By loadingImage = By.id("loading image ID");
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));
Cliquez ensuite sur l'élément.