How to handle frame in WebDriver?

We can handle frames in Selenium webdriver. The frames in an html code are represented by the frames/iframe tag. Selenium can handle frames by switching the webdriver access from the main page to the frame.

Methods to handle frames are listed below −

  • driver.switch_to_frame("frame name") - frame name is the name of the frame.

  • driver.switch_to_frame("framename.0.frame1") - used to access the subframe in a frame by separating the path with a dot. Here, it would point to the frame with the name frame1 which is the first sub-frame of the frame named framename.

  • driver.switch_to_default_content() - used to switch the webdriver access from a frame to the main page.

Let us see the html code of an element inside a frame.

The tagname highlighted in the above image is frame and the value of the name attribute is frame_bottom.


Code Implementation

from selenium import webdriver
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
#implicit wait time
#url launch
#switch to frame
#identify source element
s = driver.find_element_by_tag_name("body")
#obtain text
t = s.text
print('Text is: ' + t)
#quit browser


Updated on: 18-Nov-2021


Kickstart Your Career

Get certified by completing the course

Get Started