selenium之------页面刷新后,元素失效问题

问题一:页面刷新后,无法获取元素
StaleElementReferenceException异常,通常是因为元素页面刷新之后(如果JavaScript把网页给刷新了),元素的属性是没变,但是Element已经过时,没有和当前页面进行绑定,无法重新获取元素导致

报错信息:

selenium.common.exceptions.StaleElementReferenceException: 
Message: stale element reference: element is not attached to the page document
  (Session info: chrome=76.0.3809.132)
  (Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 6.1.7601 SP1 x86_64)

解决方法:
需要在页面刷新之后,重新获取一下元素,就可以消除此种错误。即消除 StaleElementReferenceException 异常

暂未找到好的方法,待更新

问题二、一个html里有多个frame,无法定位元素
当一个html页面中,有多个frame框架
例如:商品管理下有分类:商品列表、添加商品、等。每个分类是通过frame来写的页面
检查页面是否含有frame框架方法:
把鼠标放在根节点的标签上,检查页面是否全部高亮,如没有全部高亮,则存在frame
解决方法:
从html根节点,切换到frame里,再进行操作。

代码

driver.switch_to.frame('frame的定位/name定位')
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值