Use WindowType.WINDOW to open a new browser window.
Examples
This example opens a new tab and navigates to Google.
Selenium Java
WebDriver driver = new ChromeDriver();
driver.get("https://example.com");
// Open new tab
WebDriver newTab = driver.switchTo().newWindow(WindowType.TAB);
newTab.get("https://google.com");
This example opens a new browser window and navigates to Bing.
Selenium Java
WebDriver driver = new ChromeDriver();
driver.get("https://example.com");
// Open new window
WebDriver newWindow = driver.switchTo().newWindow(WindowType.WINDOW);
newWindow.get("https://bing.com");
Sample Program
This test opens a new tab, navigates to Google, verifies the page title, then switches back to the original window.
Selenium Java
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WindowType;
import org.openqa.selenium.chrome.ChromeDriver;
public class NewWindowTabTest {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver();
try {
driver.get("https://example.com");
String originalHandle = driver.getWindowHandle();
// Open new tab
WebDriver newTab = driver.switchTo().newWindow(WindowType.TAB);
newTab.get("https://google.com");
// Check title contains 'Google'if (newTab.getTitle().contains("Google")) {
System.out.println("New tab opened successfully with Google.");
} else {
System.out.println("Failed to open Google in new tab.");
}
// Switch back to original window
driver.switchTo().window(originalHandle);
System.out.println("Back to original window with title: " + driver.getTitle());
} finally {
driver.quit();
}
}
}
OutputSuccess
Important Notes
Always store the original window handle before opening new windows or tabs to switch back later.
Use driver.quit() to close all browser windows after the test.
Opening new windows or tabs requires Selenium 4 or higher.
Summary
Use driver.switchTo().newWindow(WindowType.TAB) to open a new tab.
Use driver.switchTo().newWindow(WindowType.WINDOW) to open a new window.
Remember to switch between windows or tabs using window handles.
Practice
(1/5)
1. Which Selenium Java command is used to open a new browser tab?
easy
A. driver.switchTo().newWindow(WindowType.TAB)
B. driver.openNewTab()
C. driver.createTab()
D. driver.newWindow(Tab)
Solution
Step 1: Understand Selenium's new window/tab creation
Selenium provides a method driver.switchTo().newWindow() to open new tabs or windows.
Step 2: Identify the correct WindowType for a tab
Using WindowType.TAB opens a new tab, which matches driver.switchTo().newWindow(WindowType.TAB).
Final Answer:
driver.switchTo().newWindow(WindowType.TAB) -> Option A
Quick Check:
Open new tab = driver.switchTo().newWindow(WindowType.TAB) [OK]
Hint: Use driver.switchTo().newWindow(WindowType.TAB) for new tabs [OK]
Common Mistakes:
Using non-existent methods like driver.openNewTab()
Confusing WindowType.WINDOW with TAB
Trying to create tabs without switchTo()
2. Which of the following is the correct syntax to open a new browser window in Selenium Java?
easy
A. driver.newWindow(WindowType.WINDOW);
B. driver.switchTo().newWindow(WindowType.WINDOW);
C. driver.switchTo().openWindow(WindowType.WINDOW);
D. driver.openNewWindow(WindowType.WINDOW);
Solution
Step 1: Recall the correct method to open new windows
The correct method is driver.switchTo().newWindow() with a WindowType argument.
Step 2: Match the exact syntax
driver.switchTo().newWindow(WindowType.WINDOW); matches the correct syntax exactly with WindowType.WINDOW.
Final Answer:
driver.switchTo().newWindow(WindowType.WINDOW); -> Option B
Quick Check:
Open new window = driver.switchTo().newWindow(WindowType.WINDOW) [OK]
Hint: Use switchTo().newWindow(WindowType.WINDOW) to open new windows [OK]
Common Mistakes:
Omitting switchTo() before newWindow()
Using incorrect method names like openWindow()
Missing semicolon in Java syntax
3. What will be the output of the following Selenium Java code snippet?
The method newWindow() must be called after driver.switchTo().
Step 2: Identify the missing part in the code
The code calls driver.newWindow() directly, which is incorrect syntax.
Final Answer:
Missing driver.switchTo() before newWindow() -> Option D
Quick Check:
Always use switchTo().newWindow() [OK]
Hint: Always use driver.switchTo() before newWindow() [OK]
Common Mistakes:
Calling newWindow() directly on driver
Confusing WindowType.TAB as invalid
Thinking driver.get() is restricted after newWindow()
5. You want to open a new tab, navigate to a URL, then switch back to the original tab and verify its title. Which code snippet correctly does this in Selenium Java?
hard
A. String original = driver.getWindowHandle();
driver.switchTo().newWindow(WindowType.TAB);
driver.get("https://selenium.dev");
driver.switchTo().window(original);
assert driver.getTitle().contains("Example");
B. driver.switchTo().newWindow(WindowType.TAB);
driver.get("https://selenium.dev");
String original = driver.getWindowHandle();
driver.switchTo().window(original);
assert driver.getTitle().contains("Example");
C. String original = driver.getWindowHandle();
driver.newWindow(WindowType.TAB);
driver.get("https://selenium.dev");
driver.switchTo().window(original);
assert driver.getTitle().contains("Example");
D. driver.get("https://selenium.dev");
driver.switchTo().newWindow(WindowType.TAB);
driver.switchTo().window(original);
assert driver.getTitle().contains("Example");
Solution
Step 1: Save original window handle before opening new tab
We must save the original window handle before opening a new tab to switch back later.
Step 2: Open new tab, navigate, then switch back and assert title
String original = driver.getWindowHandle();
driver.switchTo().newWindow(WindowType.TAB);
driver.get("https://selenium.dev");
driver.switchTo().window(original);
assert driver.getTitle().contains("Example"); correctly calls switchTo().newWindow(WindowType.TAB), navigates, switches back using saved handle, and asserts title.
Final Answer:
Option A code snippet correctly performs all steps -> Option A
Quick Check:
Save handle, open tab, switch back, assert [OK]
Hint: Save handle before new tab, switch back to assert [OK]
Common Mistakes:
Saving window handle after opening new tab
Calling newWindow() without switchTo()
Not switching back before assertion
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.