Explore Courses Blog Tutorials Interview Questions
0 votes
in DevOps and Agile by (19.7k points)

I used explicit waits and I have the warning:

org.openqa.selenium.WebDriverException: Element is not clickable at point (36, 72). Other element would receive the click: ... Command duration or timeout: 393 milliseconds

If I use Thread.sleep(2000) I don't receive any warnings.

@Test(dataProvider = "menuData")

public void Main(String btnMenu, String TitleResultPage, String Text) throws InterruptedException {

    WebDriverWait wait = new WebDriverWait(driver, 10);


    try {


    } catch (Exception e) {




    Assert.assertEquals(driver.findElement(By.cssSelector(TitleResultPage)).getText(), Text);


1 Answer

0 votes
by (62.9k points)

The error element isn't clickable at point (x, y) can arise from various factors. You can address them by either of the following procedures:

1. Element not getting clicked due to JavaScript or AJAX calls present

  • Try to use Actions Class:

WebElement element = driver.findElement("navigationPageButton")); Actions actions = new Actions(driver);


2. element not getting clicked because it isn't within Viewport

  • Try to use JavascriptExecutor to bring the element inside the Viewport:

WebElement myelement = driver.findElement("navigati (JavascriptExecutor)driver;

jse2.executeScript("arguments[0].scrollIntoView()", myelement);

3. The page is getting refreshed before the element gets clickable.

  • In this case, induce ExplicitWait i.e WebDriverWait as mentioned in point 

4. element is present within the DOM but not clickable.

  • In this case, induce ExplicitWait with ExpectedConditions set to elementToBeClickable for the element to be clickable:

WebDriverWait wait2 = new WebDriverWait(driver, 10);

wait2.until(ExpectedConditions.elementToBeClickable("navigati new WebDriverWait(driver, 10);


6. Element is present but having permanent Overlay.

  • Use JavascriptExecutor to send the click directly on the element.

WebElement ele = driver.findElement(By.xpath("element_xpath"));

JavascriptExecutor executor = (JavascriptExecutor)driver;

executor.executeScript("arguments[0].click();", ele);

If you are interested to learn Selenium on a much deeper level and want to become a professional in the testing domain, check out Intellipaat’s Selenium certification online

Browse Categories