专栏首页软测小生Selenium无法定位元素之切换Iframe和切换窗口

Selenium无法定位元素之切换Iframe和切换窗口


最近接了个项目,网页元素定位比以往的要全乎许多,多种多样的情况都遇到了,初级高级都用到了,最简单的初级比如直接通过id,name,class来定位获取,高级一点比如模糊查找,模糊匹配,前后查找等等。 今天要说一点,关于页面内嵌套的元素查找,以前的项目比较单一,没有遇到什么特别棘手的,最近就遇到了,我能在Chrome浏览器F12开发者模式下通过Xpath或者CSS定位到这个元素,但是当我在运行在脚本中的时候,搞了一上午(也应该多查下资料,不要在这里死磕)死活定位不到我要的元素,我就奇怪了,为什么会定位不到呢,是电脑出现问题还是脚本出现什么问题?

最后发现原来是内嵌套了一个Iframe,如下图:

在遇到这类问题的时候需要切换一下,切换到内嵌的Iframe才能够定位得到,搞了我一个上午的时间。

好了,那下面就来总结一下关于Selenium 切换Iframe和切换窗口(Java 和Python) Java进入Iframe:

Python进入Iframe:

在测试中往往点击某些超链接的时候会在新的窗口打开一个网页,需要跳转到新的网页去进行测试,切换窗口通过记录 窗口句柄(WindowHandle),进行切换。

Java切换窗口:

Python切换窗口:(直接切换)


本文分享自微信公众号 - 软测小生(ruancexiaosheng)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 详解Class类文件的结构(上)

    相信搞Java开发的同学都经常会接触到Class类文件,了解了JVM虚拟机之后也会大量接触到class字节码,那么它到底是什么样的文件?内部由什么构成?虚拟机又...

    beifengtz
  • Java开发人员最常犯的10个错误,你犯过几个?

    Arrays.asList()会返回一个ArrayList,但是要特别注意,这个ArrayList是Arrays类的静态内部类,并不是java.util.Arr...

    用户1516716
  • Java实例化对象过程中的内存分配

    在这个类中定义了两个属性和一个方法,当然也是可以定义多和类和多个方法的。 类现在虽然已经定义好了,但是一个类要使用它必须要实例化对象,那么对象的定义格式有一下两...

    beifengtz
  • 经过性能对比,我发现温少的FastJson真牛。

    JSON不管是在Web开发还是服务器开发中是相当常见的数据传输格式,一般情况我们对于JSON解析构造的性能并不需要过于关心,除非是在性能要求比较高的系统。

    Spark学习技巧
  • 0650-6.2.0-通过UDF实现Hive&Impala的中文拼音排序

    由上面两张图可以看出,在Hive和Impala中排序都失败了,没有按照期望中的中文对应的拼音进行排序。

    Fayson
  • 详解Class类文件的结构(下)

    本文继续使用上次的Test.class文件,它是由下面单独的一个类文件编译而成的,没有包。

    beifengtz
  • 介绍一个我开发的Java虚拟机监控API

    VmConsole-Api是一个jvm虚拟机性能监控API,将oracle jdk提供的tools.jar、sa-jdi.jar包进行了功能拓展,对一些...

    beifengtz
  • Rocketmq之No route info of this topic解决思路

    用过rocketmq的人,采用客户端调用的时候,可能会相对高频的出现的 No route info of this topic这个异常问题,然后你可能会拿着这个...

    lyb-geek
  • Java中String对象最容易被忽略的知识

    String是一个字符串类型的类,使用""定义的内容都是字符串,但是String在使用上有一点特殊,它有两种定义方式,相信所有java程序员都知道,但是有些细节...

    beifengtz
  • 偏向锁、轻量级锁、重量级锁、自旋锁原理讲解

    在讲解这些锁概念之前,我们要明确的是这些锁不等同于Java API中的ReentratLock这种锁,这些锁是概念上的,是JDK1.6中为了对synchron...

    lyb-geek

扫码关注云+社区

领取腾讯云代金券