Meet 2025’s Top-rated Software Test Management Tool. Learn More

QA Touch AI Test Management Tool

Accelerate your testing workflow with intelligent test case organization, seamless integrations, and AI-assisted insights. From planning to execution, QA Touch simplifies every step of your QA lifecycle.

QA - 4 all in one Platform

How do you handle iframes and nested frames in Selenium?

In this article

An iframe (inline frame) is used to embed another HTML document within the current one. To interact with elements inside an iframe, you must first switch the WebDriver’s context to the iframe. You can do this in three ways:

  • By Index: driver.switchTo().frame(index) (e.g., driver.switchTo().frame(0)).
  • By Name or ID: driver.switchTo().frame("frameName") or driver.switchTo().frame("frameID").
  • By WebElement: driver.switchTo().frame(driver.findElement(By.tagName("iframe"))).

To switch back to the main page, use driver.switchTo().defaultContent(). For nested iframes, you switch to the parent iframe first using driver.switchTo().parentFrame() and then to the child iframe.

Picture of Bhavani R

Bhavani R

Bhavani is the Director of Product Management at QA Touch and a seasoned leader in product management. With certifications as a Scrum Product Owner, Digital Product Manager, and Software Test Manager, Bhavani brings a wealth of expertise to her role. She also holds a Six Sigma Green Belt and has been a featured speaker at the Guild 2018 Conference. Her passion extends beyond product management to testing, blogging, reading, and cooking, making her a well-rounded leader with a keen eye for both technical and creative pursuits.

All Posts

Related Articles

Don’t just take our word for it.

QATouch is a leader in G2 market reports.