ปัญหานี้เกิดจาก 3 ประเภทต่อไปนี้:
1. องค์ประกอบคลิกมองไม่เห็น
ใช้Actionsหรือ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));
จากนั้นคลิกที่องค์ประกอบ