Web自动化-Selenium自动化测试-6-Frame操作与多窗口切换

本文介绍了使用WebDriver进行页面中frame及多窗口切换的方法。详细解释了如何通过index、id、name或WebElement切换到frame,以及如何返回默认内容或父级frame。此外,还介绍了如何获取并切换到不同的窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Frame获取

frameset不用切换,但在frame中操作元素需要切换,切换frame可以用:index,id,name,webElement任意一种方式切换

   driver.switchTo().frame(webElement);
   driver.switchTo().frame(index);
   driver.switchTo().frame(id);

要操作完frame后,需要切换回原来的frame

 driver.switchTo().defaultContent();
 <frameset>
    <frame id="fr1">
        ...
        <frame id="fr2">...</frame>
        ...
    </frame>
    ...
</frameset>

对于这种frame在操作完fr2后,切换到fr1可以采用下面方式

  driver.switchTo().parentFrame();

窗口切换

多窗口切换,需要获取窗口的句柄,通过窗口句柄来识别窗口

获取当前窗口
 String handle = driver.getWindowHandle();
 获取所有窗口
  Set<String> handles =  driver.getWindowHandles();
       for (String h : handles){
           if(h == handle){
               driver.switchTo().window(handle);
           }
       }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员路同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值