selenium无法定位元素问题

问题起因是这样的,我用selenium 完成一些网页的浏览和操作,通过id索引某个元素的时候提示找不到该元素,报错如下:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="tsn_inner"]

我用的是火狐浏览器(Firefox),不是谷歌浏览器(Chrome),因为今天来写的时候发现谷歌浏览器自动更新了,驱动版本跟不上。。。这浏览器我真服了。

言归正传,报上面这个错,我相信你已经看过不少博客,里面提供了很多种很全面的原因,包括页面加载未完成或者是因为使用iframe之类的原因,但是我的问题不属于上面任意一种。通过在不同网页测试发现,在第一次使用driver.get后能正常获取页面,当在这个页面模拟点击某个链接或按钮跳转到另一个页面时就查找不到任何元素了,百思不得其解。吃个饭洗个澡后 突然恍然大悟,我用的是火狐!!!会自动在新的标签页打开你的链接,也就是说此时的driver并没有指向新开页面的这个handle。

使用如下代码解决:

css 复制代码
driver.switch_to.window(driver.window_handles[-1])

注意,这个代码里直接索引到driver.window_handles里的最后一项,也就是最新的一个窗口里面,你可以根据窗口创建顺序正确所引导想要处理的标签页上,问题得到解决。

相关推荐
苏生十一_Nojambot13 小时前
Postman下载安装与使用汉化版教程
测试工具·postman
卓码软件测评13 小时前
软件测试:如何在Postman中配置和自动化OAuth 2.0与JWT认证?
测试工具·单元测试·自动化·测试用例·postman·可用性测试
一念一花一世界13 小时前
接口管理工具选型:PostMan与PostIn全面对比指南
测试工具·postman·接口管理工具
软件测试雪儿13 小时前
Postman越来越难用了
软件测试·测试工具·jmeter·postman
十二测试录13 小时前
PostMan——安装教程(图文详解)
功能测试·测试工具·postman
随笔写13 小时前
Postman如何汉化(保姆级教程)
测试工具·postman
安冬的码畜日常13 小时前
【玩转 Postman 接口测试与开发2_020】(完结篇)DIY 实战:随书示例 API 项目本地部署保姆级搭建教程(含完整调试过程)
python·测试工具·django·接口测试·postman·fastapi·api项目
幸福的达哥13 小时前
postman免登录版本,实测可用(解决一直卡在登录界面无法进入的问题)
测试工具·postman
山里幽默的程序员13 小时前
Postman平替工具?10个API测试利器横评
测试工具·postman
爱吃 香菜13 小时前
一文掌握接口测试三大工具:Jmeter、Postman、PyCharm
自动化测试·软件测试·测试工具·jmeter·接口测试·postman·职场经验