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版本太低,升级其版本。
从新运行后,发现一切正常。
遇到问题时,重要的是根据细小的点思考解决办法的方向。