Selenium錯誤集錦

executable needs to be in PATH
 'chromedriver.exe' executable needs to be in PATH.

放入了PATH也沒有用,最後加入到項目某個路徑下使用
browser = webdriver.Chrome("src/chromedriver.exe")前端

  1. 輸入框輸入後,點擊提交按鈕,此時光標還在最後一個輸入框中,先點擊某處(如某個label)使其失焦,而後定位提交按鈕。
  2. unvisible,使用visibility_of_element_located
  3. 當前頁面看不到元素,先滾動滾動條使元素顯示出來,或者縮小頁面使其顯示出來self.driver.execute_script("document.body.style.zoom=0.8")
    注意:不是全部的前端都是按照原生的來寫的,若是沒有效果要問下大家前端的實現方法,來找到合適的解決方案
js = "document.querySelector('.scroll-inner').style.transform = 'translate(0px, -265px) scale(1) translateZ(0px)'"
self.driver.execute_script(js)

有的時候滾了半天都不行,可是加幾個time.sleep就能夠了!python

list不能點擊

presence_of_element_located 寫成了presence_of_all_elements_locatedgit

有frame元素

selenium chrome error 10054

chrome的驅動版本與當前瀏覽器驅動版本不匹配,從新下載。github

具體版本對應查看官方更新文檔:https://sites.google.com/a/chromium.org/chromedriver/downloads。web

點擊沒反應

按鈕拿到了,按鈕的信息也輸出正常,就是click以後,界面沒有任何反應。chrome

界面的流程以下:瀏覽器

前一個界面爲loading的頁面,loading完後有一個帶按鈕的頁面,須要點擊該頁面上的按鈕。session

程序已經獲取到了該按鈕而且打印出了該按鈕的class屬性值,可是click時,界面沒有任何效果,能夠看到光標旁邊的圈圈轉了一下,說明是有發這個事件請求,可是頁面沒有跳轉。google

將find_element_by_xpath換成了find_element(By.XPATH, 'xxxxx')後依然不行。code

找不到seesionid

有多是版本不兼容:

將selenium版本從3.0.1改到3.4.1,錯誤消失

self sessionid keyerror

運行selenium自動化腳本時遇到錯誤:

self.session_id = response['sessionId'] KeyError: 'sessionId'

查看目前使用的環境:

使用驅動爲Firefox的geckodriver,版本0.16.0。
selenium版本3.0.1。

分析提示:

該錯誤爲第三方內部錯誤,keyError能夠大概說明該Key已經不存在,多是官方的內部代碼已經修改,這裏的geckodriver與selenium可能不匹配。

查看geckodriver官文,v0.16.0版本的更新說明.

摘取關鍵點:

Note that geckodriver v0.16.0 is only compatible with Selenium 3.4 and greater.
說明目前的selenium版本太低,升級其版本。

從新運行後,發現一切正常。

遇到問題時,重要的是根據細小的點思考解決辦法的方向。

相關文章
相關標籤/搜索