Debugging “Element is not clickable at point” error

后端 未结 30 2635
余生分开走
余生分开走 2020-11-21 23:55

I see this only in Chrome.

The full error message reads:

\"org.openqa.selenium.WebDriverException: Element is not clickable at point (411, 675

30条回答
  •  眼角桃花
    2020-11-22 00:29

    This is caused by following 3 types:

    1.The element is not visible to click.

    Use Actions or JavascriptExecutor for making 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 is getting refreshed before it is clicking the element.

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

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

    The below code will wait until the overlay disppears

    By loadingImage = By.id("loading image ID");
    
    WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
    
    wait.until(ExpectedConditions.invisibilityOfElementLocated(loadingImage));
    

    Then click on the element.

提交回复
热议问题