• Firefox上运行自动化测试脚本提示元素无法点击“WebDriverException: Message: Element is not clickable at point“解决方法


    1. Firefox上运行脚本时提示“WebDriverException: Message: Element is not clickable at point (934.316650390625, 700.316650390625). Other element would receive the click:”

    2.分析原因:  

      (1)首先肯定不是因为页面元素不存在而无法点击,也不是要点击的button不在预览范围内。

      (2)可能是被前一步的操作的一个弹出层挡住了。因为前几步是弹出了一个modal,在关闭modal的时候webdriver就立刻执行下一步点击某个link,而这时modal可能还没完全关闭掉。
         解决办法是等待那个弹出层完全关闭掉,link可以点击的时候再执行利用类库中的‘WebDriverWait’方法,

        java中语法:

           WebDriverWait wait = new WebDriverWait(driver, 15);

              wait.until(ExpectedConditions.elementToBeClickable(By.id("ID of the element")));//等待直到定位的元素可以点击 打算用上面的方法来解决

          结果坑爹的不起作用,实在闹不明白为啥不起作用。 最后直接在两步之间加了个简单的thread.sleep(2000)命令解决了

       python中语法:
           element = WebDriverWait(driver,3,0.5).until(EC.presence_of_element_located((By.ID,"saveNewFormId")))

           element.find_element_by_id("saveNewFormId").click()

         结果也解决了问题,··· 至于为啥可能selenium支持的更好些吧
    (3)另外一种情况是元素在视图之外,可以用调用JS这种方法解决,不过还没尝试,做个记录:
          (JavascriptExecutor) driver).executeScript( "arguments[0].scrollIntoView(true);", webElement);
                                                      webElement.click();

    (4)我能想到的就这几个原因了,希望有别的解决方法的同仁能补充一下,更好的帮助后来者解决问题,谢谢!
    (TestYao编辑于2016年3月31日晚)
    本文为"测试那点事_TestYao"博客整理收集,转载请注明出处,谢谢!
  • 相关阅读:
    C# 对Outlook2010进行二次开发
    利用AForge.NET 调用电脑摄像头进行拍照
    SQL2012 提示评估已过期 解决方案- sql server问题
    图片转换PDF
    [转载]理解weight decay
    ATTENTION NETWORK分析
    sys.stdout.write和print和sys.stdout.flush
    Flutter免费(视频)教程汇总
    Windows核心编程随笔
    .NET家族
  • 原文地址:https://www.cnblogs.com/testyao/p/5342503.html
Copyright © 2020-2023  润新知