Switch to Frame

example site: https://demo.automationtesting.in/Frames.html

import time

from selenium import webdriver
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

driver.get("https://demo.automationtesting.in/Frames.html")

# switch to frame 1
frame1 = driver.find_element(By.ID, 'singleframe')
driver.switch_to.frame(frame1)

driver.find_element(By.XPATH, '//input[@type="text"]').send_keys("Entered into the frame")

# we need to come out of the frame to interact with elements outside the frame.
driver.switch_to.default_content()
time.sleep(3)


# handle nested frames
driver.find_element(By.XPATH, '//a[text()="Iframe with in an Iframe"]').click()

outerframe = driver.find_element(By.XPATH, '//iframe[@src="MultipleFrames.html"]')
driver.switch_to.frame(outerframe)

innerframe = driver.find_element(By.XPATH, '//iframe[@src="SingleFrame.html"]')
driver.switch_to.frame(innerframe)

driver.find_element(By.XPATH, '//input[@type="text"]').send_keys("Entered into the nested frame successfully")

time.sleep(2)
driver.quit()
Updated on