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