Jest to spowodowane 3 następującymi typami:
1. Element nie jest widoczny do kliknięcia.
Użyj akcji lub JavascriptExecutor do kliknięcia.
Według działań:
WebElement element = driver.findElement(By("element_path"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().perform();
Przez 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.
lub
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].scrollIntoView()", Webelement);
Następnie kliknij element.
2. Strona jest odświeżana przed kliknięciem elementu.
W tym celu poczekaj kilka sekund na stronie.
3. Element można kliknąć, ale na nim znajduje się pokrętło / nakładka
Poniższy kod będzie czekał, aż nakładka zniknie
By loadingImage = By.id("loading image ID");
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));
Następnie kliknij element.