切换至动ID是动态的iframe

上一篇 / 下一篇  2013-07-24 10:56:06 / 个人分类:selenium

面朝大海,春暖花開......
专题三:切换至ID是动态的iframe
场景:iframe无name属性,且id又是动态产生的
思路:切换至iframe的语句,这里我们使用:driver.switchTo().frame(nameOrId);事实上webdriver提供了3种。1.WebDriver frame(int index);2.WebDriver frame(String nameOrId);3.WebDriver frame(WebElement frameElement)。因为遇到的iframe无name属性,且id又是动态产生的。所以先找到此iframe,然后通过getAttribute获取其ID,然后再切换之。
脚本:(JAVA语言实现)
public static Boolean switchToDynamiciframe(WebDriver driver,final WebElement iframe){
        return (new WebDriverWait(driver,100)).until(new ExpectedCondition<Boolean>()){
        public Boolean apply(WebDriver driver){
        String id=iframe.getAttribute("id");
        if(id!=null){
        driver.switchTo().frame(id);
        return true;
         }
        else{
        System.out.println(Not find any id);
        return false;
         }
  }
});
}

TAG:

 

评分:0

我来说两句

Open Toolbar