To switch iframe we can use this sample code –
package com.webdriver_07; import java.util.List; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.remote.ErrorHandler.UnknownServerException; public class MyIframe { public WebDriver driver; private String baseUrl; public static void main(String[] args){ MyIframe mif = new MyIframe(); mif.launch_browser(); } public void launch_browser() { try{ baseUrl = "http://demo.tanmaysarkar.com/sample_02.html"; driver = new FirefoxDriver(); driver.get(baseUrl); driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); List<WebElement> frms= driver.findElements(By.tagName("iframe")); System.out.println(frms.size()); for(int i=0;i<frms.size();i++) { System.out.println(frms.get(i).getAttribute("src")); } WebElement ifr = driver.findElement(By.xpath("//iframe[@src='frame_02.html']")); driver.switchTo().frame(ifr); driver.findElement(By.id("ts_first_name")).sendKeys("tanmay"); driver.findElement(By.id("ts_last_name")).sendKeys("sarkar"); driver.switchTo().defaultContent(); driver.findElement(By.id("ts_in_main")).sendKeys("welcome back"); } catch(NoSuchElementException ne) { System.out.println(ne.getLocalizedMessage()); } catch(UnknownServerException u) { System.out.println(u.getLocalizedMessage()); } } }