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

相关推荐
测试人社区—小叶子2 小时前
接口测试全攻略:从Swagger到MockServer
运维·c++·人工智能·测试工具·机器人·自动化·测试用例
测试19982 小时前
软件测试方法之边界值分析法
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
测试人社区-小明3 小时前
AI在金融软件测试中的实践
人工智能·测试工具·金融·pycharm·机器人·github·量子计算
ewenge3 小时前
springboot+Selenium 实现html转图片(内含驱动包)
spring boot·selenium·html
测试人社区—小叶子3 小时前
DevTestOps成熟度模型:从CI/CD到质量门禁
java·运维·网络·人工智能·测试工具·ci/cd·自动化
tang&7 小时前
【Python自动化测试】Selenium常用函数详解
开发语言·python·selenium
测试人社区-千羽1 天前
智能测试的终极形态:从自动化到自主化的范式变革
运维·人工智能·python·opencv·测试工具·自动化·开源软件
sugarzhangnotes1 天前
应用服务OOM引发GC异常,导致Redis请求超时失败的问题分析与解决
数据库·redis·测试工具
没有bug.的程序员1 天前
AOT 与 GraalVM Native Image 深度解析
java·jvm·测试工具·aot·gc·gc调优·graalvm native
测试人社区-小明1 天前
量子计算对测试未来的潜在影响:软件测试的范式变革
opencv·测试工具·pycharm·机器人·自动化·github·量子计算