专栏首页自动化、性能测试Selenium常见报错问题(2)- 解决和分析StaleElementReferenceException异常

Selenium常见报错问题(2)- 解决和分析StaleElementReferenceException异常

如果你在跑selenium脚本时,需要某些异常不知道怎么解决时,可以看看这一系列的文章,看看有没有你需要的答案

https://www.cnblogs.com/poloyy/category/1749830.html

直译异常

Stale Element Reference Exception:陈旧元素引用异常

首先,啥情况下会出现这异常

简单来说就是,页面元素过期了,无法引用元素

出现这异常的常见原因

  • The element has been deleted entirely:该元素已被删除【更常见】
  • The element is no longer attached to the DOM:元素不再附加到DOM上

该元素已被删除

分析原因

造成这种情况的最常见原因:刷新了元素所在的页面,或者用户导航到另一个页面

另一个原因是:JS库删除了一个元素,并用相同的ID或属性替换了它

解决方法

再次查找该元素

元素不再附加到DOM上

分析原因

有可能是引导了不再附加到DOM树的元素(比如,document.documentElement)

解决方法

仍然是再次查找该元素

博主遇到的情况

selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document【第二种情况】

什么情况下遇到这问题?

对元素hover,即调用了 Webdriver.ActionChains(driver).move_to_element(element).perform() 的方法

如何解决这问题?

对异常进行捕获,并重新定位元素,重新hover

如果这样也解决不了你的问题,那么可以试试直接click元素(当然,前提是点击该元素不会触发其他任何交互,才能用click替换hover)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Selenium系列(十二) - 自动化必备知识之CSS选择器的详细使用

    https://www.cnblogs.com/poloyy/category/1680176.html

    小菠萝测试笔记
  • Cypress系列(16)- 查找页面元素的基本方法

    https://www.cnblogs.com/poloyy/category/1768839.html

    小菠萝测试笔记
  • Linux常用命令 - head命令详解

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!!

    小菠萝测试笔记
  • (2019)[前端]面试题[1]:小知识点大集合

    答:不区分,(HTML, CSS都不区分,但为了更好的可读性和团队协作,一般都小写,而在XHTML 中元素名称和属性是必须小写的。)

    无道
  • Pseudo elements伪元素与Pseudo classes伪类

    ::after用于描述处于css渲染层的一个伪元素,相当于选中元素的最后一个子元素,但这个元素与DOM节点无关,位于选择的元素之后,伪元素的内容用content...

    gojam
  • [OHIF-Viewers]医疗数字阅片-医学影像-querySelector() 选择器语法-将画布(canvas)图像保存成本地图片的方法

    使用HTML5画布技术,你可以在浏览器客户端用JavaScript绘制出各种美丽酷炫的图案,这些图案是不能直接保存的,本身也不是图片形式。

    landv
  • jquery教程之查找筛选函数

    三、children 取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。

    老雷PHP全栈开发
  • 我不知道你知不知道我知道的伪元素小技巧

    伪元素能做什么?我们要他有何用?它能为我们解决什么问题?和其他的方法相比她有什么有点?我们为什么要使用它?

    sunseekers
  • HTML布局的基本要点

    image.png 如果要掌握、运用好Position、Float属性必须要对HTML的两个基本点有清晰的了解。 盒子模型(box model) HTML的...

    java达人
  • 如何使用python进行web抓取?

    本文摘要自Web Scraping with Python – 2015 书籍下载地址:https://bitbucket.org/xurongzhong/py...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券