selenium 学习笔记 ---新手学习记录(5) 问题总结(java)

1.今天遇到个奇葩问题,iframe有两个id相同的(如下图)

使用driver.switchTo().frame(“frmLinkPage1”);这个无法使用了。

后来改用driver.switchTo().frame(0);就可以用了

顺便在提一下退出ifrmae

driver.switchTo().defaultContent();

2.点击一个按钮,打开一个新窗口,等处理完后,关闭新窗口,在进行原来窗口的处理。这个过程需要的代码如下。

String detailWindowHandle = null;

  首先:

//获取主窗口header信息
 String mainWindowHandle=driver.getWindowHandle();

//获取新窗口焦点 切换窗口
        Set<String> handles=driver.getWindowHandles();
        System.out.println(handles);
        Iterator<String> itWin=handles.iterator();
        while(itWin.hasNext()){
            String key=itWin.next();
            if(mainWindowHandle.equals(key)){
                continue;
            }
            detailWindowHandle=key;
            
        }    

//切换到新打开的窗口,获取焦点
        WebDriver detailWindow = driver.switchTo().window(detailWindowHandle);

在进行下一步,

//关闭新窗口

detailWindow.close();
handles.remove(detailWindowHandle);
 //切换回主窗口,焦点再次返回到主窗口
driver=driver.switchTo().window(mainWindowHandle);

原文地址:https://www.cnblogs.com/kllay/p/5201046.html