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日晚)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM