前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Selenium常见报错问题(2)- 解决和分析StaleElementReferenceException异常

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

作者头像
小菠萝测试笔记
发布2020-06-09 16:05:03
4K0
发布2020-06-09 16:05:03
举报
文章被收录于专栏:自动化、性能测试

如果你在跑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)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 直译异常
  • 首先,啥情况下会出现这异常
  • 出现这异常的常见原因
  • 该元素已被删除
    • 分析原因
      • 解决方法
      • 元素不再附加到DOM上
        • 分析原因
          • 解决方法
          • 博主遇到的情况
            • 什么情况下遇到这问题?
              • 如何解决这问题?
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档