Dies wird durch folgende 3 Typen verursacht:
1.Das Element ist zum Klicken nicht sichtbar.
Verwenden Aktionen oder JavascriptExecutor, um zum Klicken zu gelangen.
Durch Aktionen:
WebElement element = driver.findElement(By("element_path"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().perform();
Von 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.
oder
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].scrollIntoView()", Webelement);
Klicken Sie dann auf das Element.
2.Die Seite wird aktualisiert, bevor auf das Element geklickt wird.
Lassen Sie die Seite dazu einige Sekunden warten.
3. Das Element ist anklickbar, aber darüber befindet sich ein Drehfeld / Overlay
Der folgende Code wartet, bis die Überlagerung angezeigt wird
By loadingImage = By.id("loading image ID");
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));
Klicken Sie dann auf das Element.