executable needs to be in PATH 'chromedriver.exe' executable needs to be in PATH.
放入了PATH也沒有用,最後加入到項目某個路徑下使用
browser = webdriver.Chrome("src/chromedriver.exe")前端
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
presence_of_element_located 寫成了presence_of_all_elements_locatedgit
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
有多是版本不兼容:
將selenium版本從3.0.1改到3.4.1,錯誤消失
運行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版本太低,升級其版本。
從新運行後,發現一切正常。
遇到問題時,重要的是根據細小的點思考解決辦法的方向。