zoukankan      html  css  js  c++  java
  • Element is not clickable at point error in chrome

    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.

    ----------------------------------

    This is caused by following 2 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.

    --------------------

    1.The element is not visible at the view point(not seen in the screen)

    Try this

    JavascriptExecutor jse = (JavascriptExecutor)driver;
    
    jse.executeScript("scroll(250, 0)"); // this will scroll up
    
    or
    
    jse.executeScript("scroll(0, 250)"); // this will scroll down
    

    2.Element is not present at the time of execution. Use WebDriverWait to until the element is present.

    WebDriverWait wait = new WebDriverWait(driver, 15);
    
    wait.until(ExpectedConditions.elementToBeClickable(By.id("ID of the element")));
    ---------------------------
    In my python script, I try the second method, details as below

    js_="var q=document.body.scrollTop=10000"
    driver.execute_script(js_)

    Attation: In chrome we should use "document.body.scrollTop",  "document.documentElement.scrollTop" doesn't work in chrome

    if you want to get the value of scrollTop, may you can try this "var sTop=document.body.scrollTop+document.documentElement.scrollTop;"

  • 相关阅读:
    apache开启.htaccess及.htaccess的使用方法
    如何解决PHP startup: Unable to load dynamic library './php_mysql.dll 找不到指定的模块
    html判断IE版本
    php.ini 配置详解
    检测apache是否支持htaccess文件
    MySql my.ini 中文详细说明
    "安装SQL2005时出现“以前的某个程序安装在计算机上创建挂起文件操作,运行安装程序之前必须重新启动计算机
    iOS开发笔记-两种单例模式的写法
    SQL 2005此计算机上已经安装了同名实例
    win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程
  • 原文地址:https://www.cnblogs.com/alansheng/p/5110143.html
Copyright © 2011-2022 走看看