码迷,mamicode.com
首页 > 其他好文 > 详细

【selenium专题】元素定位之多层框架和窗口

时间:2015-07-01 15:30:00      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

本节知识点

  • 多层框架或窗口切换样式: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()

【selenium专题】元素定位之多层框架和窗口

标签:

原文地址:http://www.cnblogs.com/sylvia-liu/p/4613246.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!