selenium无法定位元素问题

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

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

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

driver.switch_to.window(driver.window_handles[-1])

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

相关推荐

  1. selenium无法定位元素问题

    2024-01-12 08:22:03       64 阅读
  2. UI自动化中元素无法定位问题解决方法

    2024-01-12 08:22:03       57 阅读
  3. appium 实战问题 播放视频时无法定位元素

    2024-01-12 08:22:03       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-12 08:22:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-12 08:22:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-12 08:22:03       82 阅读
  4. Python语言-面向对象

    2024-01-12 08:22:03       91 阅读

热门阅读

  1. 树莓派ubuntu:hdmi与wifi冲突问题

    2024-01-12 08:22:03       47 阅读
  2. 架构师常用的ChatGPT通用提示词模板

    2024-01-12 08:22:03       54 阅读
  3. flutter base64图片保存到相册

    2024-01-12 08:22:03       61 阅读
  4. ubuntu18.04安装部署环境

    2024-01-12 08:22:03       48 阅读
  5. 油烟净化器电源安全,保障健康餐饮生活

    2024-01-12 08:22:03       51 阅读
  6. JVM初识

    JVM初识

    2024-01-12 08:22:03      62 阅读
  7. Django的模板语言

    2024-01-12 08:22:03       38 阅读