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);