iframes in selenium code example
Example 1: how to handle iframes
- Iframe is html inside another html
- We need to switch selenium focus to iframe
either by using INDEX, NAME-ID, or
as a webelement same way as other webelements.
After switching to Iframe we need to switch back to
the main frame to able to continue in the main frame.
Syntax=
-driver.switchTo().defaultContent();
-driver.switchTo().parentFrame();
Example 2: iframes in selenium
Iframes are basically <html> inside of another <html>.
Selenium can only focus one thing at a time.
Therefore, if we have iframe on the page,
we need to SWITCH driver's focus to the inner iframe
to be able to perform any action with Selenium.
-> There are 3 ways to switch to iframes
1- Locating it (the iframe), just as another webelement.
WebElement iframe = driver.findElement(By.locator);
driver.switchTo().frame(iframe); --> we pass the webelement of iframe
2- byIndex number of the iframe: driver.switchTo().frame(0);
We just need to understand which iframe we need to
switch to, then we just pass the index number of it.
3- byId or byName attribute value:
driver.switchTo().frame("idValue"); driver.switchTo().frame("nameValue");