Selenium无法定位元素之切换Iframe切换窗口
2018-05-14 本文已影响33人
软测小生
微信公众号:软测小生ruancexiaosheng
最近接了个项目,网页元素定位比以往的要全乎许多,多种多样的情况都遇到了,初级高级都用到了,最简单的初级比如直接通过id,name,class来定位获取,高级一点比如模糊查找,模糊匹配,前后查找等等。
今天要说一点,关于页面内嵌套的元素查找,以前的项目比较单一,没有遇到什么特别棘手的,最近就遇到了,我能在Chrome浏览器F12开发者模式下通过Xpath或者CSS定位到这个元素,但是当我在运行在脚本中的时候,搞了一上午(也应该多查下资料,不要在这里死磕)死活定位不到我要的元素,我就奇怪了,为什么会定位不到呢,是电脑出现问题还是脚本出现什么问题?
最后发现原来是内嵌套了一个Iframe,如下图:
image在遇到这类问题的时候需要切换一下,切换到内嵌的Iframe才能够定位得到,搞了我一个上午的时间。
image好了,那下面就来总结一下关于Selenium 切换Iframe和切换窗口(Java 和Python) Java进入Iframe:
imagePython进入Iframe:
image在测试中往往点击某些超链接的时候会在新的窗口打开一个网页,需要跳转到新的网页去进行测试,切换窗口通过记录 窗口句柄(WindowHandle),进行切换。
Java切换窗口:
imagePython切换窗口:(直接切换)
image