Challenge - 5 Problems
iFrame Switching Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this Selenium Python code snippet?
Given the following code snippet that switches to an iframe and tries to find an element, what will be printed?
Selenium Python
from selenium import webdriver from selenium.webdriver.common.by import By # Assume driver is already initialized and page loaded iframe = driver.find_element(By.ID, "frame1") driver.switch_to.frame(iframe) element = driver.find_element(By.ID, "inside") print(element.text)
Attempts:
2 left
💡 Hint
Remember that switching to the iframe context allows access to elements inside it.
✗ Incorrect
Switching to the iframe using driver.switch_to.frame(iframe) changes the context to inside the iframe, so finding element by ID 'inside' works and prints its text.
❓ assertion
intermediate1:30remaining
Which assertion correctly verifies the iframe switch?
You want to assert that after switching to an iframe, the current frame is the one with ID 'frame2'. Which assertion is correct?
Selenium Python
iframe = driver.find_element(By.ID, "frame2")
driver.switch_to.frame(iframe)Attempts:
2 left
💡 Hint
Use JavaScript to check the current frame element's ID.
✗ Incorrect
The JavaScript 'window.frameElement.id' returns the ID of the current iframe element. This confirms the switch.
🔧 Debug
advanced2:00remaining
Why does this code raise NoSuchFrameException?
This code tries to switch to an iframe by name but raises NoSuchFrameException. What is the likely cause?
Selenium Python
driver.switch_to.frame('frame3')Attempts:
2 left
💡 Hint
Check the iframe's name or ID attributes carefully.
✗ Incorrect
NoSuchFrameException occurs when the specified frame name or ID does not exist in the current page context.
❓ locator
advanced1:30remaining
Which locator is best to find an iframe for switching?
You want to switch to an iframe that has a unique attribute data-test='login-frame'. Which locator is best?
Attempts:
2 left
💡 Hint
Use attribute selectors for unique custom attributes.
✗ Incorrect
Using CSS selector with attribute data-test='login-frame' precisely locates the iframe.
❓ framework
expert2:00remaining
In a test framework, how to safely switch back from an iframe?
After switching to an iframe and performing actions, which is the correct way to return to the main page context?
Attempts:
2 left
💡 Hint
Think about returning to the top-level page, not just one level up.
✗ Incorrect
driver.switch_to.default_content() returns to the main page from any iframe level.