Selenium常见异常分析及解决方案

这篇具有很好参考价值的文章主要介绍了Selenium常见异常分析及解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pycharm中导入selenium报错

现象: pycharm中输入from selenium import webdriverselenium标红

  • 原因1: pycharm使用的虚拟环境中没有安装selenium,
    解决方法: 在pycharm中通过设置或terminal面板重新安装selenium
  • 原因2: 当前项目下有selenium.py,和系统包名冲突导致,
    解决方法,重命名这个文件

驱动及本地服务类异常

  1. 未找到响应的浏览器驱动

WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

WebDriverException: Message: 'chromedriver' executable needs to be in PATH.

原因: 查找不到对应的浏览器驱动
解决方法: 下载浏览器对应版本的chromedriver
或geckodrivergeckodriver
放到脚本当前文件夹下或将路径配置到环境变量中, 或放到Python目录的Scripts下(一般情况下Python的Scripts目录在环境变量中), 或使用浏览器选项options指定驱动路径

  1. 未找到浏览器

WebDriverException: Message Can not connect to the Service chromedriver org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary

原因: 在默认路径下未找到Firefox浏览器
解决方法: 重新安装Firefox浏览器

  1. 驱动和浏览器不匹配

SessionNotCreatedException: Message: session not created: this version of ChromeDriver only supports Chrome version 76

原因: 当前使用chromedriver只支持Chrome76版本
解决方法: 查看本地Chrome浏览器的版本, 下载对应的chromedriver

  1. 驱动被防火墙拦截

WebDriverException: Message: Can not connect to the Service IEDriverServer.exe

原因: iedriverserver.exe被防火墙拦截
解决方法: 防火墙设置允许

  1. 连接不上chromedriver服务

WebDriverException: Message: Can not connect ot the Service chromedriver

原因: 脚本通过127.0.0.1这个ip访问本地chromedriver服务, hosts中未配置 127.0.0.1指向localhost
解决办法: 配置本地hosts, 添加:127.0.0.1 localhost
6.RemoteDriverServerException: 远程服务器异常, 解决方法: 确认webdriver.Remote()中的远程Webdriver服务是否OK
7. ErrorInResponseException: Webdriver服务器响应异常, 解决方法, 根据具体报错信息分析

找不到类异常: 定位/获取属性/切换警告框,Frame, 窗口

  1. NoSuchElementException: 找不到元素, 解决方法: 前面加上sleep等待后重试,或换一种定位方式
  2. NoSuchAttributeException: 元素没有这个属性, 解决方法: 确认定位到的元素是否目标元素, 检查属性拼写
    3.NoAlertPresentException:没有找到alert弹出框, 解决方法: 观察页面,查看是否有弹框出现, 加上等待或作为偶现元素处理
  3. NoSuchFrameException:没有找到指定的frame或iframe, 解决方法: 查看拼写或切换使用frame的id/name/index/定位到的frame
  4. NoSuchWindowException: 没找到窗口句柄指定的窗口, 解决方法: 查看使用的窗口句柄变量拼写
  5. UnexpectedAlertPresentException: 出现了弹框而未处理, 解决方法: 切换到警告框并处理, 如果偶现,使用try...except处理偶现弹框
  6. InvalidSwitchToTargetException: 切换到指定frame或窗口报错, 解决方法: 查看相应的frame或窗口是否能定位到
  7. UnexpectedTagNameException: 使用Tag Name不合法, 解决方法: 检查拼写或使用css selector/xpath
    9.TimeoutException:查找元素或操作超时, 解决方法, 稍后重试

元素操作异常类: 隐藏/不可操作状态

  1. ElementNotVisibleException:元素不可见异常, selenium不能直接操作隐藏元素, 解决方法: 加上等待, 使用正常步骤使元素显示, 或使用js找到该元素的祖先节点的隐藏属性(通常为styple="display: none"), 移除该属性然后定位操作.
  2. StaleElementReferenceException: 陈旧元素引用异常, 页面刷新或跳转后使用了之前定位到的元素, 解决方法: 重新定位元素并操作
  3. InvalidElementStateException: 元素状态异常 元素只读/不可点击等, 解决方法, 等待或使用js移除元素readonly/disable等限制属性后操作
  4. ElementNotSelectableException:元素不可被选中, 解决方法: 确认原始是否为select标签, 是否禁用
  5. InvalidSelectorException: 使用的定位方法不支持或xpath语法错误, 未返回元素, 解决方法: 检查使用的元素定位器是否拆包, 使用find_element()方法是, 第一个参数为'class name', 'link text', 'particial link text' 'css selector', 空格分开, 非下划线连接, 建议使用By.CLASS_NAME的方式. 使用chrome开发着工具+Ctrl+F搜索验证自己写的xpath语法.
  6. MoveTargetOutOfBoundsException: 使用ActionChains的move方法时移动到的位置不合适

Cookie存取相关异常

  1. InvalidCookieDomainException: Cookie相应的域名无效
  2. UnableToSetCookieException: 设置Cookie异常

IME输入法引擎异常

  1. ImeNotAvailableException: 服务器不支持输入法
  2. ImeActivationFailedException: 输入法激活异常

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

Selenium常见异常分析及解决方案

Selenium常见异常分析及解决方案

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!

Selenium常见异常分析及解决方案文章来源地址https://www.toymoban.com/news/detail-484363.html

到了这里,关于Selenium常见异常分析及解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium自动化测试框架常见异常分析及解决方法

    现象: pycharm中输入from selenium import webdriver, selenium标红 原因1: pycharm使用的虚拟环境中没有安装selenium, 解决方法: 在pycharm中通过设置或terminal面板重新安装selenium 原因2: 当前项目下有selenium.py,和系统包名冲突导致, 解决方法:重命名这个文件 1)未找到响应的浏览器驱动 WebDriv

    2024年02月06日
    浏览(38)
  • PyCharm环境下Git与Gitee联动:本地与远程仓库操作实战及常见问题解决方案

    写在前面 :本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 在软件开发中,版本控制是一个不可或缺的工具。随着项目的增长和团队的扩大,管理源代码的变更、协作和跟踪变得愈发重要。Git正是为了满足这些需

    2024年04月25日
    浏览(74)
  • pycharm + selenium + chromedriver创建Chrome无头浏览器及报错:unknown error: Failed to create Chrome process解决方案

    操作环境 win10 编译环境 pycharm python环境 Python3.9 114以前版本https://registry.npmmirror.com/binary.html?path=chromedriver/ 114以后版本https://googlechromelabs.github.io/chrome-for-testing/ Chrome浏览器下载(这里不多赘述) Chrome浏览器打开,(右上角)设置–(左下角)关于chrome–能看到浏览器版本号

    2024年04月23日
    浏览(54)
  • pycharm+selenium搭建环境之no module named ‘selenium‘异常解决

    1.  检查是否安装了selenium   a)pip  show  selenium  发现自己已经安装了selenium,重新执行还是报异常; b)上面a)检查完毕了,但还是不行那么就要检查自己的项目是不是放在安装Python的路径下了? 例如我 Python装在D盘,项目创建在E盘,那明显selenium就没有安装在项目下,此时

    2024年02月16日
    浏览(45)
  • elasticsearch查询异常解决方案

    {\\\"error\\\":{\\\"root_cause\\\":[{\\\"type\\\":\\\"security_exception\\\",\\\"reason\\\":\\\"missing authentication token for REST request [/]\\\",\\\"header\\\":{\\\"WWW-Authenticate\\\":\\\"Basic realm=\\\"security\\\" charset=\\\"UTF-8\\\"\\\"}}],\\\"type\\\":\\\"security_exception\\\",\\\"reason\\\":\\\"missing authentication token for REST request [/]\\\",\\\"header\\\":{\\\"WWW-Authenticate\\\":\\\"Basic realm=\\\"security\\\" charset=\\\"UTF-8\\\"\\\"}},\\\"sta

    2024年02月16日
    浏览(43)
  • NoClassDefFoundError异常的解决方案

    在Java编程中,NoClassDefFoundError异常是一个常见的错误,它表示在运行时找不到某个类的定义。这个异常通常发生在以下情况下: 编译时存在对类的引用,但在运行时找不到该类的定义。 编译时存在对类的引用,但在运行时使用的类路径不正确或缺少必要的类文件。 下面我将

    2024年01月17日
    浏览(54)
  • nginx遇到的异常和解决方案

    情况:配置nginx负载均衡,运行一段时间后,访问速度变慢,并且ping服务器的时候,访问远大于1ms。 重启nginx,每次重启后,访问速度恢复正常。一段时间后又变慢。 配置中,写的是服务器的ip(例如:192.168.1.5),将本地访问的ip改成127.0.0.1(待观察) 参考:《配置nginx转发

    2024年01月20日
    浏览(40)
  • SQLSyntaxErrorException异常产生原因及解决方案

    当我使用PreparedStatement 类进行数据库连接时,弹出错误 02 异常的产生原因 num=stmt.executeUpdate(sql);部分不需要再次传入sql executeUpdate:执行数据库的更新、插入和删除操作 ,返回改变记录的行数,但是使用PreparedStatement 类对传入数据进行加密时,在执行到这个语句的时候数据库

    2024年01月21日
    浏览(47)
  • pycharm无法添加conda环境(没有反应)解决方案

    下载anaconda或(miniconda)后,在conda中创建了自己的虚拟环境,在pycharm项目中添加conda环境时能识别到,但是点确定添加后进度条一闪而过没有反应。 这种是最烦的,又没报错又没提示的,但就是死活加不进去conda环境。 刚开始以为是pycharm版本太高的问题,重装了2022版的,还

    2024年02月04日
    浏览(49)
  • pycharm没有找到manage repositories按钮解决方案

    问题描述 :不知道是因为版本原因还是其他,pycharm没有找到manage repositories按钮,无法更改下载源,导致安装库的速度会很慢。 解决办法: 1、点击左下角的python packages 2、点击设置按钮,点击加号,输入镜像网址,保存。 附三个常用下载源: 清华源 : https://pypi.tuna.tsinghua

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包