Switching to and from an iframe using Python & Selenium

Switching to and from an iframe on a page in target and interact with elements using python is a piece of cake.

Firstly lets quickly set up our web driver (I’ll use safari in this example as it includes a built in web driver)

from selenium import webdriver
driver = webdriver.Safari()

Then visit a page which contains an iframe:

driver.get('https://www.pagewithiframe.com')

Switching to an iframe

driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))

You can now start targeting element within the iframe.

Switching from an iframe

Switching back to the iframe parent is just as simple:

driver.switch_to.default_content()

Putting it all together:

# Import web driver
from selenium import webdriver

# Specify our driver
driver = webdriver.Safari()

# Visit a page
driver.get('https://www.pagewithiframe.com')

# Switch to the iframe
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))

# ----------------------
# Do stuff in the iframe
# ----------------------

# Switch back to the parent
driver.switch_to.default_content()

Posted

in

,

by

Tags: