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

相关推荐
知凡D3 小时前
python脚本打包成exe后,对其引用的日历库实时更新-动态化加载模块
python·测试工具
Wpa.wk3 小时前
接口测试-Postman接口测试流程小练习2
测试工具·postman
阿蔹3 小时前
UI测试自动化-Web-Python-Selenium-2-元素操作、浏览器操作
前端·python·selenium·ui·自动化
程序员杰哥6 小时前
Postman设置接口关联,实现参数化
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
oh-pinpin6 小时前
【jmeter】-脚本-导入添加接口(F12复制 cURL )
测试工具·jmeter·压力测试
软件测试小仙女8 小时前
告别手工分析!Python+HAR一键生成页面性能测试报告
自动化测试·软件测试·python·测试开发·测试工具·性能测试·测试报告
汽车仪器仪表相关领域8 小时前
亲历机动车排放检测升级:南华NHA-604/605测试仪的实战应用与经验沉淀
人工智能·功能测试·测试工具·安全·汽车·压力测试
BullSmall8 小时前
Anroid、IOS、鸿蒙、浏览器的兼容性测试方案
测试工具·可用性测试
fzm52989 小时前
嵌入式软件单元测试中AI自动化与人工检查的协同机制研究:基于专业工具的实证分析
c语言·测试工具·单元测试·自动化
天才测试猿1 天前
2026全新软件测试面试八股文【含答案+文档】
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展