微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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就可以了!

list不能点击

presence_of_element_located 写成了presence_of_all_elements_located

有frame元素

selenium chrome error 10054

chrome的驱动版本与当前浏览器驱动版本不匹配,重新下载。

具体版本对应查看官方更新文档:https://sites.google.com/a/chromium.org/chromedriver/downloads。

点击没反应

按钮拿到了,按钮的信息也输出正常,就是click之后,界面没有任何反应。

界面的流程如下:

一个界面为loading的页面,loading完后有一个带按钮的页面,需要点击该页面上的按钮。

程序已经获取到了该按钮并且打印出了该按钮的class属性值,但是click时,界面没有任何效果,可以看到光标旁边的圈圈转了一下,说明是有发这个事件请求,但是页面没有跳转

将find_element_by_xpath换成了find_element(By.XPATH, 'xxxxx')后依然不行。

找不到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版本过低,升级其版本。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐