0 votes
1 view
in Selenium by (1.5k points)
edited by

I see this only in Chrome.

The full error message reads:
  

"org.openqa.selenium.WebDriverException: Element is not clickable at point (411, 675). Other element would receive the click: ..."


The element that 'would receive the click' is to the side of the element in question, not on top of it and not overlapping it, not moving around the page.

I have tried adding an offset, but that does not work either. The item is on the displayed window without any need for scrolling.
 

1 Answer

0 votes
by (12.7k points)
edited by

This is caused by the following 3 types:

1.The element is not visible to click.

Use Actions or JavascriptExecutor for preparing it to click.

By Actions:

WebElement element = driver.findElement(By("element_path"));

Actions actions = new Actions(driver);

actions.moveToElement(element).click().perform();

By 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.

or

JavascriptExecutor jse = (JavascriptExecutor)driver;

jse.executeScript("arguments[0].scrollIntoView()", Webelement); 

Then click on the element.

2.The page gets refreshed before it is clicking the element.

For this, make the page to wait for a few seconds.

3. The element is clickable one but there is a spinner/overlay on top of it

The below code would wait until the overlay disappears

By loadingImage = By.id("loading image ID");

WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);

wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));

Then click on the element.

Want to be a SQL expert? Come and join this SQL Certification by Intellipaat.

Do check out the video below

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...