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

相关推荐
卓码软件测评5 小时前
第三方软件测试测评机构【使用web_reg_save_param_ex函数:掌握LoadRunner关联的黄金法则 】
测试工具·ci/cd·性能优化·单元测试·测试用例
大飞记Python10 小时前
代码级教程|用Playwright实现Web自动化测试:从零到录制生成脚本
自动化测试·python·selenium·playwright
weixin_4387321010 小时前
ChromeDriver谷歌驱动下载
linux·chrome·selenium·自动化·mac·chrome devtools·chromedriver
快乐小胡!11 小时前
【自动化测试】Selenium选择/定位元素的基本方法
python·selenium·测试工具
PhotonixBay14 小时前
车载HUD的 TFT 屏被动散热仿真与太阳光测试
测试工具
0思必得016 小时前
[Web自动化] Selenium模拟用户的常见操作
前端·python·selenium·自动化
Apifox.16 小时前
测试用例越堆越多?用 Apifox 测试套件让自动化回归更易维护
运维·前端·后端·测试工具·单元测试·自动化·测试用例
AI_567817 小时前
K8s新手入门:从“Pod创建”到“服务暴露”,3个案例理解容器编排
人工智能·学习·测试工具
我的offer在哪里17 小时前
Figma 技术深度解析:重新定义协作设计的底层架构与工程实践
测试工具·流程图
深蓝电商API18 小时前
Selenium无头浏览器配置与反检测技巧
爬虫·python·selenium