Switching between frames (also known as iframes) in Selenium can be done using the driver.switchTo().frame() method.
You can switch to a frame using different locators such as index, name, id, or a WebElement, depending on how the frame is defined in the DOM.
Below are examples demonstrating the various ways to switch between frames in Selenium.
Switch frame using index
Switching between frames in Selenium can be achieved by passing a zero-based index to the frame() method. This means the indexing starts from 0, where the first frame on the page is referred to as index 0.
Below is an example demonstrating how to switch to a frame using its index.
Example Script:
driver.switchTo().frame(index); //index such as 0, 1 etc.,
Switch frame using Name or ID
You can switch to a frame in Selenium by passing its name or id to the frame() method. This approach is often more reliable than using an index, as it directly targets the frame based on its attribute.
Below is an example demonstrating how to switch to a frame using its name or id.
Example Script:
driver.switchTo().frame(framename OR frameid);
Switch frame using WebElement
Switching between frames in Selenium can also be done by passing a WebElement to the frame() method. This is often the most reliable approach, as it directly locates the frame element before switching.
Below is an example demonstrating how to switch between frames using a WebElement in Selenium.
Example Script:
WebElement elem = driver.findElement(By.id(“country”));
driver.switchTo().frame(elem);
For YouTube Video click on: How to handle iframes in selenium webdriver