本节知识点

  • 多层框架或窗口切换样式:WebDrvier.switchto().TargetLocator
  • Interface WebDriver.TargetLocator下所有可切换对象

参考API-Interface WebDriver.TargetLocator

WebDriver  driver= new FirefoxDriver();//启动firefox浏览器

driver.manage().window().maximize();

1.切换frame

driver.switchTo().frame(int index); //按照frame的索引号定位frame,从0开始,可以是0,1,2,....

driver.switchTo().frame(String nameOrId); //按照frame的name或Id定位

driver.switchTo().frame(driver.findElement(By.by)); //按照frame的元素定位属性定位

driver.switchTo().defaultContent();//切换到打开页面是焦点默认frame

2.切换窗口

driver.driver.switchTo().window(String nameOrHandle);//按照window的name或Handle定位,若已知name直接输入即可。若无name可依据页面title调用以下方法切换窗口

    /**
* 根据页面title切换页面
* @param windowTitle
* @boolean 切换到预期页面则返回True,否则返回False
*/
public static boolean switchtoWin(String windowTitle){
if(driver.getTitle().equals(windowTitle)){
return true;//如果是当前页面,直接返回
}else{
for(String handle : driver.getWindowHandles()) {
driver.switchTo().window(handle);
if(driver.getTitle().equals(windowTitle)){
return true;
}else{
continue;
}
}
}
return false;
}

3.切换到弹出窗口

driver.switchTo().alert();//切换到弹出窗口,下一步可随意操作alert对象

4.切换到当前frame默认焦点元素

driver.switchTo().activeElement()

最新文章

  1. offsetHeight, clientHeight与scrollHeight的区别
  2. SVM实践
  3. github page 和 hexo 搭建在线博客
  4. python 多线程学习
  5. phpcms-v9系统搭建wap网站及单页面
  6. C++读取txt文件
  7. Piggy-Bank(HDU 1114)背包的一些基本变形
  8. QT中的SOCKET编程(QT-2.3.2)
  9. PHP用substr截取字符串出现中文乱码问题用mb_substr
  10. Java 开发环境搭建
  11. C# 动态创建出来的窗体间的通讯 delegate2
  12. Java TCP服务端向客户端发送图片
  13. IOS WebViewJavascriptBridge 使用以及原理分析
  14. 【DFS】求水洼的数目
  15. Android的LinearLayout中orientation默认值为什么是HORIZONTAL
  16. Spring Boot的@SpringBootApplication无法引入的问题
  17. NXP ARM Vector Table CheckSum
  18. 解题:CF983A Finite or not
  19. [GDAL]在三维场景中显示DEM
  20. [Python 多线程] GIL全局解释器锁 (十三)

热门文章

  1. svn 的限制
  2. centos7 yum 安装jq
  3. 团队作业4Alpha冲刺
  4. Linux实战教学笔记40: Mha-Atlas-MySQL高可用方案实践(二)
  5. nginx 多域名配置,采用多配置文件的方式
  6. DevCloud for CloudStack Development
  7. loadrunner添加load generator连接失败解决办法
  8. code1214 线段覆盖
  9. [SoapUI] context.expand 和 groovyUtils.getXmlHolder 有什么不一样
  10. char a[] = "hello world1"和char *p = "hello world2";的区别(转)