यह 3 प्रकारों के कारण होता है:
1. तत्व क्लिक करने के लिए दिखाई नहीं देता है।
क्लिक करने के लिए इसे बनाने के लिए क्रिया या जावास्क्रिप्ट उपयोग करें।
क्रियाओं द्वारा:
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));
फिर तत्व पर क्लिक करें।