
Selenium常见报错问题(2)- 解决和分析StaleElementReferenceException异常
发布日期:2021-05-09 05:49:44
浏览次数:11
分类:博客文章
本文共 787 字,大约阅读时间需要 2 分钟。
如果你在跑selenium脚本时,需要某些异常不知道怎么解决时,可以看看这一系列的文章,看看有没有你需要的答案
直译异常
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)
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月17日 19时33分13秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
DC-2靶机渗透
2021-05-09
缓冲区溢出实例(一)--Windows
2021-05-09
Moonraker 靶机渗透
2021-05-09
使用 EW 作Socks5代理内网穿透
2021-05-09
DNS隧道基础
2021-05-09
免杀工具汇总
2021-05-09
免杀工具汇总
2021-05-09
缓冲区溢出实例(一)–Windows
2021-05-09
powershell渗透-信息收集命令
2021-05-09
KMP算法详解
2021-05-09
Badboy录制脚本时,提示脚本错误的解决方法
2021-05-09
PHP一句话木马小总结与SQL语句写一句话木马
2021-05-09
Web 安全之内容安全策略(Content-Security-Policy,CSP)详解
2021-05-09
单向链表
2021-05-09
堆与堆排序
2021-05-09
关于计数排序
2021-05-09
使用 C# 9 的records作为强类型ID - 初次使用
2021-05-09
CentOS Too Many Open Files 解决
2021-05-09
移除 DevExpress 的 XtraForm 标题文字阴影
2021-05-09
【进阶之路】并发编程(三)-非阻塞同步机制
2021-05-09