Fix the "Element Not Clickable at Point" error in Selenium. Learn causes like overlaps, delays, and proven solutions with examples.

Faisal Khatri
April 16, 2026
In Selenium automation testing, locators help identify and interact with any element on the web page. For example, ID, Name, ClassName, XPath, CSS Selector, TagName, LinkText, and Partial LinkText are widely used to help you interact with the elements on the web page.
Identifying the elements may be an easy task, but your tests might fail due to the state of the WebElement (e.g., the element is not visible or the element is not clickable at point, etc.). In such cases, the tests might throw different Selenium exceptions such as NoSuchElementException, ElementNotVisibleException, etc.
This tutorial covers the root causes of the "element is not clickable at point" exception and five proven fixes, with runnable Java code examples for each.
When automated tests run, a WebElement may be located successfully by its selector but still fail to accept interactions. Three root causes account for most cases:
The "element is not clickable at point" exception typically arises when the targeted WebElement cannot be clicked at its current position. This means attempting to click it will trigger an ElementClickInterceptedException.
Let's take an example of the home page of the TestMu AI eCommerce Playground website. Here, while running the automated tests using Selenium WebDriver, when you try to click on the Blog menu on the menu bar when the Shop by Category side menu bar is already open, you will get the "element is not clickable at point" exception.

Below is the excerpt of the exception that was thrown by Selenium as it was unable to click on the Blog menu:
org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <a class="icon-left both nav-link" href="https://ecommerce-playground.lambdatest.io/index.php?route=extension/maza/blog/home">...</a> is not clickable at point (493, 100). Other element would receive the click: <div class="mz-pure-overlay"></div>
The error message is self-explanatory: Selenium was unable to click the element because another element intercepted the click.
There is a higher probability of getting this exception with the Chrome browser, as Chrome never calculates the exact location of any WebElement. Instead, it tries to perform a click in the middle of the WebElement. Hence, you might get the "element is not clickable at point" exception when running tests on Chrome.
The underlying implementation differs from one browser to another. You may also encounter this exception when clicking an element at a specific point (or coordinate) in Firefox, Microsoft Edge, or other browsers.
To assist with such browser-specific challenges, KaneAI, offered by TestMu AI, is a GenAI-native testing assistant that analyzes failed tests and surfaces actionable insights to reduce time spent troubleshooting exceptions like "element is not clickable at point" across Chrome, Firefox, and Edge.
In a web application, if you skip filling out any mandatory fields in a form or while creating an account, you will come across the submit (or create account) WebElement in a disabled state.
When trying to interact with such a WebElement, the "element is not clickable at point" exception pops up.
Most websites use AJAX for the dynamic loading of web content. Therefore, the test cases should be implemented considering this dynamism. You will encounter the said exception if the test script is trying to interact with the WebElement, which is not yet available in the Document Object Model (DOM).
You might have overlapping WebElements on a webpage, which poses significant challenges when running Selenium automated tests on the page. For example, when trying to interact with an element with another element overlapping, it would throw the exception "element is not clickable at point".
Since this makes an interesting scenario, let's look at this with an example. We will run the tests on an online Selenium Grid by TestMu AI.
TestMu AI is an AI-powered test orchestration and execution platform that lets developers and testers perform automation testing using Selenium at scale, thereby attaining better browser coverage, faster test execution, and accelerated software release cycles. Furthermore, parallel test execution is one of the major advantages of running tests on a cloud-based platform like TestMu AI.
The following test scenario will be used for demonstration purposes.
Test Scenario

The following code will run the test scenario using Selenium WebDriver on Chrome 122 and Windows 10 on the TestMu AI cloud platform.
public class ExceptionsDemoTest {
WebDriver driver;
private final String USERNAME = System.getenv("LT_USERNAME") == null ? "LT_USERNAME" : System.getenv("LT_USERNAME");
private final String ACCESS_KEY = System.getenv("LT_ACCESS_KEY") == null ? "LT_ACCESS_KEY" : System.getenv("LT_ACCESS_KEY");
private final String GRID_URL = "@hub.lambdatest.com/wd/hub";
@BeforeTest
public void setup() {
try {
driver = new RemoteWebDriver(new URL("http://" + USERNAME + ":" + ACCESS_KEY + GRID_URL), getChromeOptions());
} catch (MalformedURLException e) {
System.out.println("Could not start the remote session on LambdaTest cloud grid");
}
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(20));
}
@Test
public void testElementNotClickableException() {
driver.get("https://ecommerce-playground.lambdatest.io/");
WebElement shopByCategory = driver.findElement(By.linkText("Shop by Category"));
shopByCategory.click();
WebElement blogLink = driver.findElement(By.linkText("Blog"));
blogLink.click();
}
public ChromeOptions getChromeOptions() {
final var browserOptions = new ChromeOptions();
browserOptions.setPlatformName("Windows 10");
browserOptions.setBrowserVersion("122.0");
HashMap<String, Object> ltOptions = new HashMap<String, Object>();
ltOptions.put("project", "Selenium LambdaTest Demo");
ltOptions.put("build", "[Java] How to Deal with Element is not clickable at point Exception");
ltOptions.put("name", "[Java] How to Deal with Element is not clickable at point Exception");
ltOptions.put("w3c", true);
ltOptions.put("plugin", "java-testNG");
browserOptions.setCapability("LT:Options", ltOptions);
return browserOptions;
}
@AfterTest
public void tearDown() {
driver.quit();
}
}

Code Walkthrough:
As the tests are run on the TestMu AI cloud platform, it is mandatory to provide the required capabilities. These capabilities can be generated from the TestMu AI Automation Capabilities Generator.

Based on the capabilities selected, the capabilities generator website automatically generates the required configuration code to help us run the code on the TestMu AI cloud grid.
Next, the TestMu AI Username and Access Key are required. These can be found on the Profile > Account Settings > Password & Security page once you log into TestMu AI.

As the Username and Access Key are confidential values, you should not hardcode them within the code. Therefore, it is recommended to set the Username and Access Key in the environment variables.

Next, the capabilities need to be provided for which the getChromeOption() method is created. It has all the required capabilities to run the test successfully on Chrome Browser 122 version on the Windows 10 platform.

We will use the RemoteWebDriver() instance to instantiate the WebDriver instance using the setup() method to run the test on the TestMu AI platform.

This method also implements implicit waits so all WebElements load correctly before the actual test execution begins.

Finally, the test method testElementNotClickableException() will be executed. It will first navigate to the TestMu AI eCommerce Playground website and click on the Shop by Category menu. Next, it will locate the Blog menu and try to click on it.
Let's execute this test and check out the result.
Test Execution:
On executing the test on TestMu AI, it is expected that Selenium should throw the "element is not clickable at this point" exception.

The following screenshot of the test execution performed using IntelliJ IDEA shows the exception in the console log.

Below is the stack trace of the error:

Many times, you would need to identify the Selenium locators using their coordinates. The coordinates of the elements would differ depending on the window size. Hence, maximizing the browser window when performing Selenium testing is a good practice. You can read our detailed blog on Selenium best practices to avoid issues you may encounter when running Selenium tests.
There are five proven ways to resolve the "element is not clickable at point" exception in Selenium. Match the fix to the root cause for the fastest resolution.
To handle elements that take some time to load on the web page, you may add waits in Selenium. The added delay helps ensure that the WebElement to be interacted with is available on the web page. Have a look at the different Selenium waits that can help you achieve this task.
You can consider adding implicit waits, explicit waits, or fluent waits, depending upon the requirement. For example, we can add an explicit wait for a specific element so that it loads completely and is identified to be clickable.
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement loginBtn = wait.until(ExpectedConditions.elementToBeClickable(By.id("Login")));
loginBtn.click();
Subscribe to the TestMu AI YouTube Channel to catch up with the latest tutorials on automated testing, Selenium testing, and more.
When coordinates are used to identify the elements in the tests, it is always considered good practice to maximize your browser window. This ensures that the coordinates defined in your tests match with those on the page, as the browser is in the maximized state. Here is how you can avert the "element is not clickable at point" exception by simply maximizing the web browser window:
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
When the waits don't help resolve the issue, you can use the JavaScriptExecutor to perform the click operation.
JavaScriptExecutor is a key interface that allows you to run JavaScript on the window or page of the browser using Selenium WebDriver. It provides methods to run JavaScript against the window (or page) directly from your test script, bypassing the normal click interception.
WebElement element = driver.findElement(By.id("Login"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
The exception "element is not clickable at point" might be thrown when the element is not under focus or the action is being performed on the incorrect WebElement. In such cases, you have to switch to the actual element and perform the click action.
To handle this scenario, use the Actions class in Selenium to move to the specific element and perform the click operation as shown below:
WebElement element = driver.findElement(By.id("Login"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perform();
The following test scenario is an extension to the test scenario we previously discussed while learning about the "element is not clickable at this point" exception.
Test Scenario


While we ran the code previously, it threw the exception; the code below is to handle the exception in Selenium.
@Test
public void testElementNotClickableExceptionResolved() {
driver.get("https://ecommerce-playground.lambdatest.io/");
WebElement shopByCategory = driver.findElement(By.linkText("Shop by Category"));
shopByCategory.click();
WebElement menuBar = driver.findElement(By.cssSelector(".entry-section div.navbar-collapse"));
final Actions actions = new Actions(driver);
actions.moveToElement(menuBar).click().build().perform();
WebElement blogLink = driver.findElement(By.linkText("Blog"));
blogLink.click();
WebElement pageTitle = driver.findElement(By.cssSelector(".entry-section .entry-module h3"));
assertEquals(pageTitle.getText(), "LATEST ARTICLES");
}
Code Walkthrough:
The following lines of code will help you navigate the TestMu AI eCommerce website, search for the Shop by Category link, and click on it.

Next, it will locate the menu bar that has the Blog menu displayed in it. Using the Actions class in Selenium, the focus will be moved to the menu bar, and a click will be performed on it. Once the focus is on the menu bar, the Blog menu will be located and clicked.

After the Blog web page is opened, the assertion will be performed to check that the title LATEST ARTICLES is displayed on the page.

Let's execute the test on the TestMu AI cloud platform and check the results.
Test Execution:
The following is the screenshot of the tests executed using IntelliJ IDEA.

This test execution ensures that the Actions class can be used to handle the "element is not clickable at this point" exception in Selenium.
The details of the test execution can be viewed on the TestMu AI Web Automation Dashboard, which provides details like Selenium logs, test execution video, screenshots, and step-by-step test execution details.

You can also log onto the TestMu AI Community to get answers to questions about the "element is not clickable at point" error and more.
Note: Run your Selenium tests across 10,000+ real devices and browsers on TestMu AI. Try TestMu AI free!
If the target element is outside the visible viewport, Selenium may throw the "element is not clickable at point" exception because the browser cannot register the click on an off-screen element. Scrolling the element into view before clicking resolves this.
Use JavaScriptExecutor to scroll the element into view, then click it:
WebElement element = driver.findElement(By.id("submitBtn"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].scrollIntoView(true);", element);
element.click();
This is especially useful on long pages where the target button or link sits below the fold. After scrolling, the element enters the viewport and becomes fully interactable. See the Selenium with Java docs for setup and configuration options when running on the TestMu AI cloud grid.
The "element is not clickable at point" exception in Selenium is always caused by one of four root issues: a disabled WebElement, an element that has not yet loaded, overlapping elements, or a coordinate mismatch. Match the fix to the cause: use explicit waits for timing issues, JavaScriptExecutor or the Actions class for overlapping elements, and scrollIntoView for off-screen elements.
Start debugging faster by running your Selenium tests on TestMu AI's cloud automation platform, where detailed session logs, video recordings, and step-by-step execution traces help you pinpoint the exact line where the exception fires. Refer to the Selenium with Java documentation to get started on the TestMu AI grid in minutes.
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance