
main = page.driver.browser.window_handles.first
popup = page.driver.browser.window_handles.last
page.driver.browser.switch_to.window(popup)
Since iframe is a part of another source which is used to display another webpage in a webpage, you must handle it exactly same as pop-up windows.
page.driver.browser.switch_to.frame(iframe_name)
However, for iframe you must take the name of iframe to use it for assigning the webdriver. You can see the code below.
page.driver.browser.switch_to.frame(iframe_name)