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版本太低,升级其版本。

从新运行后,发现一切正常。

遇到问题时,重要的是根据细小的点思考解决办法的方向。

相关文章
相关标签/搜索