Bird
Raised Fist0
Selenium Pythontesting~10 mins

Handling multiple pages in Selenium Python - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to switch to the new browser tab after clicking a link.

Selenium Python
driver.find_element(By.LINK_TEXT, 'Open new tab').click()
driver.[1](driver.window_handles[1])
Drag options to blanks, or click blank then click option'
Aswitch_to.window
Bget
Cfind_element
Dclose
Attempts:
3 left
💡 Hint
Common Mistakes
Using driver.get() instead of switching windows
Trying to find elements before switching windows
Closing the current window instead of switching
2fill in blank
medium

Complete the code to close the current tab and switch back to the original tab.

Selenium Python
driver.close()
driver.[1](driver.window_handles[0])
Drag options to blanks, or click blank then click option'
Aquit
Bfind_element
Cswitch_to.window
Dget
Attempts:
3 left
💡 Hint
Common Mistakes
Using driver.get() which loads a URL instead of switching windows
Calling driver.quit() which closes the entire browser
Not switching back after closing the tab
3fill in blank
hard

Fix the error in the code to correctly switch to the last opened window.

Selenium Python
last_window = driver.window_handles[-1]
driver.[1](last_window)
Drag options to blanks, or click blank then click option'
Aget
Bswitch_to.window
Cfind_element
Dclose
Attempts:
3 left
💡 Hint
Common Mistakes
Using driver.get() which loads a URL instead of switching windows
Trying to find elements before switching windows
Closing the window instead of switching
4fill in blank
hard

Fill both blanks to create a dictionary of window handles and their titles.

Selenium Python
windows = {handle: driver.[1](handle).title for handle in driver.[2]
Drag options to blanks, or click blank then click option'
Aswitch_to.window
Bwindow_handles
Ccurrent_window_handle
Dfind_element
Attempts:
3 left
💡 Hint
Common Mistakes
Using current_window_handle which is only one window
Trying to find elements instead of switching windows
Not switching windows before getting title
5fill in blank
hard

Fill all three blanks to switch to each window, print its title, and then switch back to the original window.

Selenium Python
original = driver.[1]
for handle in driver.[2]:
    driver.[3](handle)
    print(driver.title)
driver.switch_to.window(original)
Drag options to blanks, or click blank then click option'
Acurrent_window_handle
Bwindow_handles
Cswitch_to.window
Dclose
Attempts:
3 left
💡 Hint
Common Mistakes
Not saving the original window handle
Using driver.close() instead of switching windows
Not switching back to the original window

Practice

(1/5)
1. What does driver.window_handles return in Selenium?
easy
A. The URL of the current page
B. The current active window handle only
C. The title of the current page
D. A list of all open browser window handles

Solution

  1. Step 1: Understand what window handles represent

    Window handles are unique IDs for each open browser window or tab.
  2. Step 2: Identify what driver.window_handles returns

    This property returns a list of all window handles currently opened by the driver.
  3. Final Answer:

    A list of all open browser window handles -> Option D
  4. Quick Check:

    window_handles = list of all windows [OK]
Hint: Remember: window_handles lists all open pages [OK]
Common Mistakes:
  • Confusing window_handles with current window handle
  • Expecting window_handles to return page titles or URLs
  • Using window_handles as a single string instead of a list
2. Which is the correct syntax to switch to a new browser tab in Selenium Python?
easy
A. driver.switch_to_tab(driver.window_handles[1])
B. driver.switch_window(driver.window_handles[1])
C. driver.switch_to.window(driver.window_handles[1])
D. driver.change_window(driver.window_handles[1])

Solution

  1. Step 1: Recall the correct method to switch windows

    The Selenium method to switch windows is driver.switch_to.window().
  2. Step 2: Check the syntax for switching to the second tab

    Use the second handle in the list: driver.window_handles[1].
  3. Final Answer:

    driver.switch_to.window(driver.window_handles[1]) -> Option C
  4. Quick Check:

    Use switch_to.window with window_handles index [OK]
Hint: Use switch_to.window() with window_handles index [OK]
Common Mistakes:
  • Using non-existent methods like switch_window or switch_to_tab
  • Forgetting to use driver.switch_to
  • Using wrong index for window_handles
3. What will the following code print if two tabs are open and the first tab's title is 'Home' and second tab's title is 'About'?
main_window = driver.current_window_handle
all_windows = driver.window_handles
for window in all_windows:
    driver.switch_to.window(window)
    print(driver.title)
medium
A. ["Home", "About"]
B. ["About", "Home"]
C. Only "Home"
D. Only "About"

Solution

  1. Step 1: Understand the loop over all window handles

    The code loops over all open windows and switches to each one in order.
  2. Step 2: Print the title of each window after switching

    It prints the title of each tab in the order of window_handles list, which is usually the order tabs opened.
  3. Final Answer:

    ["Home", "About"] -> Option A
  4. Quick Check:

    Loop prints titles of all tabs in order [OK]
Hint: Loop over window_handles prints all tab titles [OK]
Common Mistakes:
  • Assuming only current tab title prints
  • Mixing order of window handles
  • Not switching before printing title
4. Identify the error in this code snippet that tries to switch back to the main window after opening a new tab:
main_window = driver.current_window_handle
# code to open new tab
driver.switch_to.window(driver.window_handles[1])
# do something
# switch back
driver.switch_to.window(main_window())
medium
A. Missing import for switch_to
B. main_window is called like a function with parentheses
C. driver.window_handles[1] is invalid index
D. No error, code is correct

Solution

  1. Step 1: Check how main_window is used

    main_window is a string handle, but code calls main_window() as a function, which is incorrect.
  2. Step 2: Identify correct usage to switch back

    Should use driver.switch_to.window(main_window) without parentheses.
  3. Final Answer:

    main_window is called like a function with parentheses -> Option B
  4. Quick Check:

    Window handle is a string, not a function [OK]
Hint: Window handles are strings, don't add () [OK]
Common Mistakes:
  • Calling window handle variables as functions
  • Using wrong index for window_handles
  • Assuming switch_to needs import
5. You open multiple tabs during a test. How do you ensure you always return to the original tab after closing the new ones?
hard
A. Save the original window handle before opening new tabs and switch back using it
B. Use driver.close() on all tabs except the last one
C. Call driver.quit() to close all tabs and restart the browser
D. Switch to the last window handle in driver.window_handles list

Solution

  1. Step 1: Save the original window handle before opening new tabs

    This allows you to remember which tab was the main one.
  2. Step 2: After closing new tabs, switch back to the saved original handle

    Use driver.switch_to.window(original_handle) to return safely.
  3. Final Answer:

    Save the original window handle before opening new tabs and switch back using it -> Option A
  4. Quick Check:

    Save and reuse original handle to return [OK]
Hint: Always save main window handle before opening tabs [OK]
Common Mistakes:
  • Assuming last window handle is original
  • Closing tabs without switching back
  • Using driver.quit() which ends session
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard