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"博客整理收集,转载请注明出处,谢谢!
原文地址:https://www.cnblogs.com/testyao/p/5342503.html