This script opens three pages: one in the original tab, one in a new tab, and one in a new window. It prints each page's title to confirm the switch worked.
Selenium Python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time
# Setup Chrome driver
service = Service()
driver = webdriver.Chrome(service=service)
try:
# Open first page
driver.get('https://example.com')
print('First page title:', driver.title)
# Open new tab
driver.switch_to.new_window('tab')
driver.get('https://www.python.org')
print('Second page title:', driver.title)
# Open new window
driver.switch_to.new_window('window')
driver.get('https://www.selenium.dev')
print('Third page title:', driver.title)
# Close all
driver.quit()
except Exception as e:
print('Error:', e)
driver.quit()
OutputSuccess
Important Notes
Always switch to the new window or tab before interacting with it.
Remember to close windows or tabs you open to avoid clutter.
Use driver.window_handles to see all open windows and tabs.
Summary
Use driver.switch_to.new_window('tab') to open a new tab.
Use driver.switch_to.new_window('window') to open a new window.
Switching focus is needed to control the new tab or window.
Practice
(1/5)
1. Which Selenium Python command opens a new browser tab?
easy
A. driver.switch_to.new_window('tab')
B. driver.open_new_tab()
C. driver.create_tab()
D. driver.new_tab()
Solution
Step 1: Understand Selenium's new window method
Selenium provides driver.switch_to.new_window() to open new tabs or windows by specifying the type as 'tab' or 'window'.
Step 2: Identify the correct argument for a new tab
To open a new tab, the argument must be the string 'tab'. So the correct command is driver.switch_to.new_window('tab').
Final Answer:
driver.switch_to.new_window('tab') -> Option A
Quick Check:
Open new tab = driver.switch_to.new_window('tab') [OK]
Hint: Use 'tab' string inside new_window() to open a new tab [OK]
Common Mistakes:
Using non-existent methods like driver.open_new_tab()
Passing 'window' instead of 'tab' to open a tab
Trying driver.new_tab() which is invalid
2. Which of the following is the correct syntax to open a new browser window in Selenium Python?
easy
A. driver.switch_to.new_window('tab')
B. driver.switch_to.new_window('window')
C. driver.new_window('window')
D. driver.open_window('window')
Solution
Step 1: Recall the method to open new windows
Selenium's correct method is driver.switch_to.new_window() with argument 'window' to open a new window.
Step 2: Check syntax correctness
Only driver.switch_to.new_window('window') uses the correct method and argument. driver.new_window('window') and driver.open_window('window') use invalid method names, and driver.switch_to.new_window('tab') opens a tab, not a window.
Final Answer:
driver.switch_to.new_window('window') -> Option B
Quick Check:
Open new window = driver.switch_to.new_window('window') [OK]
Hint: Use 'window' string inside new_window() to open a new window [OK]
Common Mistakes:
Confusing 'tab' and 'window' arguments
Using wrong method names like driver.new_window()
Missing the switch_to part in the command
3. What will be the output of the following Selenium Python code snippet?
Calling driver.new_window('tab') directly is invalid and will raise an AttributeError.
Final Answer:
Missing driver.switch_to before new_window() -> Option C
Quick Check:
Use driver.switch_to.new_window() to open tabs/windows [OK]
Hint: Always use driver.switch_to.new_window() to open tabs/windows [OK]
Common Mistakes:
Calling new_window() directly on driver
Thinking driver.get() limits opening new tabs
Believing driver.get() can only be called once
5. You want to open a new tab, switch to it, load a URL, then switch back to the original tab. Which code snippet correctly does this in Selenium Python?
hard
A. original = driver.current_window_handle
driver.switch_to.new_window('tab')
driver.switch_to.window(original)
driver.get('https://selenium.dev')
B. driver.new_window('tab')
driver.get('https://selenium.dev')
driver.switch_to.window(original)
C. original = driver.current_window_handle
driver.switch_to.new_window('window')
driver.get('https://selenium.dev')
driver.switch_to.window(original)
D. original = driver.current_window_handle
driver.switch_to.new_window('tab')
driver.get('https://selenium.dev')
driver.switch_to.window(original)
Solution
Step 1: Save original window handle before opening new tab
Store driver.current_window_handle in a variable to switch back later.
Step 2: Open new tab and load URL
Use driver.switch_to.new_window('tab') to open a new tab, then load the URL with driver.get().
Step 3: Switch back to original tab
Use driver.switch_to.window(original) to return focus to the original tab.
Final Answer:
Code snippet D correctly opens a new tab, loads URL, and switches back -> Option D
Quick Check:
Save handle, open tab, load URL, switch back [OK]
Hint: Save handle, open tab, load URL, then switch back [OK]
Common Mistakes:
Not saving original window handle before opening new tab
Using 'window' instead of 'tab' when a tab is needed
Switching back to original tab before loading the URL in the new tab
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.