selenium自动化测试 报错合集( NoSuchElement 的解决思路)

一、 NoSuchElementException 没有这个元素 

排错方法:

第一步:首先确认元素在页面是否存在

(在网页打开开发者工具,手动检查是否真的存在)

      1.1 是否正确复制了元素的cssSelector 或者 xpath

                复制之后,最好不要进行修改

                可以在开发者工具里,搜索一下 ctrl+f ,把刚复制到内容粘贴上去看看是不是能找到

      1.2 是否编写自动化脚本的时候,findElement(By.cssSelector (“”)) 和 findElement(By.xpath(“”)) 敲错了。

        也不要把 cssSelector的内容放进xpath,或者xpath的内容放到cssSelector里了

第二步:的确不存在 这个元素

        2.1 手动打开的页面 和 自动化打开的页面 是否存在

        (一个登录了,一个没登录)

        2.2 元素为动态元素 (每次刷新网页,cssSelector 或者 xpath 会变化)

解决办法:先定位 动态元素上一级标签,通过上一级标签定位 该动态元素

第三步:自动化打开的页面确实存在该元素

        3.1 是否有打开新的页面,导致driver还指向旧的页面,找不到新页面的元素。

        同理,关闭窗口后,是否切换回来了。

                解决方法:切换句柄handle,切换窗口

               

        3.2 代码执行速度比页面渲染速度快,页面还没渲染出来,程序就开始找元素了

                解决办法:添加等待(强制等待 Thread.sleep(3000)、隐式等待、显示等待)

        3.3 增加了等待 ,还是找不到元素

                是否 多种等待混合使用了,没有一直各个等待直接的区别

        

二、 NoSuchSessionException 没有这个session

这个问题发生在,多个测试用例一起测试的时候

问题在于,第一个测试用例执行完,我使用了 quit()将浏览器关闭了

这导致后面的的测试用例无法正确进行

如果连续执行测试用例,需要注意一下,quit() 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值