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里的最后一项,也就是最新的一个窗口里面,你可以根据窗口创建顺序正确所引导想要处理的标签页上,问题得到解决。

相关推荐
憧憬成为原神糕手3 小时前
Playwright、Selenium、DrissionPage 与 JSON 接口怎么选?
数据库·selenium·json
wangjialelele1 天前
Selenium4 + Java Web自动化测试入门指南:从环境搭建到常用操作详解
java·开发语言·前端·测试工具·自动化
我是Superman丶1 天前
【2026亲测】Wireshark安装教程 Windows系统|下载安装、Npcap配置及首次抓包
windows·测试工具·wireshark
Hy行者勇哥1 天前
Coze【软件测试助手】Skill 完整搭建实操指南
测试工具
Hy行者勇哥3 天前
软件测试完整体系
测试工具
TunerT_TQ3 天前
Valhalla 静态工程审阅 #012|Hertz 源码证据驱动评测【大厂开源基础设施特辑】
测试工具·微服务·开源·github·字节跳动·cloudwego·http框架
Dr.kangder3 天前
嵌入式软件接口测试:从理论到实践的全面指南
测试工具·架构·嵌入式·测试覆盖率
冷凝娇4 天前
【Postman】2026总结
测试工具·postman
天才测试猿4 天前
实例介绍:Unittest框架及自动化测试实现流程
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
TunerT_TQ4 天前
Valhalla 静态工程审阅 #009|Continue 源码证据驱动评测【大厂开源基础设施特辑】
vscode·测试工具·开源·llm·github·jetbrains·ai编程助手