解决NoSuchElementException

抛出NoSuchElementException异常就意味着计算机没有找到你想要的元素。请逐条寻找你是否犯了以下错误:

定位方式是否有误。尽量不用class、tagname这类容易重复的定位方式。尽量不用从浏览器复制xpath路径,往往浏览器给出的xpath路径过于复杂,不易找到。

id值或其他属性值发生变化。当你第一次打开网页,id值为1;刷新网页id值可能会变为2;在页面上执行一些其他操作,id值可能变成3。也就是说id值成为了变量,这时你可以用start-with方法,或者换一个定位方式。

display为none。如果元素被隐藏,是无法找到该元素的。使用js改变属性值。

页面未加载完毕。这是一个常见的问题源头,页面过于复杂,而你要找的元素又在靠下的位置。在找元素前Thread.sleep几秒试一试。

存在多个界面,焦点位置不在当前界面。焦点在A界面,代码找的就是A界面的元素。然而你要找的元素在B界面。关闭多余界面。

存在iframe嵌套的情况。iframe中又有一层body,如果目标元素在iframe里面,就要进入新的一层body,记得的找完了再跳出。

 

遇到新问题再继续总结...

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值