An object-oriented platform-independent language that is used for creating applications is known as Java. Sometimes the applications are so robust that we need some automation to test their application. This can be done using various automation tools such as Selenium. While doing automation, there also occurs the need to open a new tab using the Selenium web driver in Java.
In this article, we will discuss the same.
Opening a New tab using Selenium WebDriver in JavaWe can open a new tab using Selenium WebDriver in Java by 2 methods given below:
- Using newWindow API
- Using JavascriptExecutor
Using newWindow APISelenium allows the web driver to open a new tab and switch to that tab automatically using switchTo and newWindow functions. Here, we will use both functions simultaneously to open a new tab and switch to that.
- switchTo: The function which allows the webdriver to switch from one tab to another is known as ttswitchTo function.
- newWindow: The function that lets the user create a new window in the current browser session is known as newWindow.
Syntaxdriver.switchTo().newWindow(WindowType.TAB);
Example of newWindow APIIn this example, we have imported the WebDriver, ChromeDriver, and WindowType modules. Further, we have opened the Geeks For Geeks website (link) and then we have opened a new tab using the newWindow API.
Java
// Import selenium libraries
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WindowType;
import org.openqa.selenium.chrome.ChromeDriver;
public class selenium2 {
public static void main(String[] args)
{
// State the chromedriver URL
System.setProperty(
"webdriver.chrome.driver",
"C:\\Users\\Vinayak Rai\\Downloads\\chromedriver-win64\\chromedriver-win64\\chromedriver.exe");
// Define and initiate the chrome driver
WebDriver driver = new ChromeDriver();
// Open the Geeks For Geeks website
driver.get("https://www.horje.org/");
// Maximize the screen
driver.manage().window().maximize();
// Open a new tab using newWindow API
driver.switchTo().newWindow(WindowType.TAB);
}
}
Output:

Using JavascriptExecutorThe module that allows the web driver to execute Javascript code within the current browser is known as JavascriptExecutor. The new tab can be opened using executeScript and window. open functions respectively.
- executeScript: The function that allows the user to execute JavaScript code within the context of the current browser window or frame is known as executeScript.
- window.open(): The function that is used to open a new browser window is known as a window.open() function.
There are Two Ways:
- Open a new tab
- Open a new tab with a specific URL
1. Open a new tabWhen the user doesn’t provide any arguments to the window.open() function, then just a new tab is opened.
Syntax((JavascriptExecutor) driver).executeScript(“window.open()”);
Example of Open a new tabIn this example, we have imported the WebDriver, ChromeDriver, and JavascriptExecutor modules. Further, we have opened the Geeks For Geeks website (link) and then we have opened a new tab using JavascriptExecutor.
Java
//Import selenium libraries
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class selenium2 {
public static void main(String[] args) {
// State the chromedriver URL
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\Vinayak Rai\\Downloads\\chromedriver-win64\\chromedriver-win64\\chromedriver.exe");
// Define and initiate the chrome driver
WebDriver driver = new ChromeDriver();
// Open the Geeks For Geeks website
driver.get("https://www.horje.org/");
// Maximize the screen
driver.manage().window().maximize();
// Open a new tab using JavaScript
((JavascriptExecutor) driver).executeScript("window.open()");
}
}
Output

2. Open a new tab with a specific URLWhen the user doesn’t provide a URL as the argument to the window.open() function, then a new tab with that specific URL is opened.
Syntax((JavascriptExecutor) driver).executeScript(“window.open(‘URL_of_webpage’)”);
Here, URL_of_webpage: It is the URL of the webpage which the user wants to open in a new tab.
Example of Open a new tab with a specific URLIn this example, we have imported the WebDriver, ChromeDriver, and JavascriptExecutor modules. Further, we have opened the Geeks For Geeks website (link) and then we have opened a new tab with a specific URL (link) using JavascriptExecutor.
Java
//Import selenium libraries
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class selenium2 {
public static void main(String[] args) {
// State the chromedriver URL
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\Vinayak Rai\\Downloads\\chromedriver-win64\\chromedriver-win64\\chromedriver.exe");
// Define and initiate the chrome driver
WebDriver driver = new ChromeDriver();
// Open the Geeks For Geeks website
driver.get("https://www.horje.org/");
// Maximize the screen
driver.manage().window().maximize();
// Open a new tab with specific URL using JavaScript
((JavascriptExecutor) driver).executeScript("window.open('https://www.horje.org/explore?page=1&sortBy=submissions&itm_source=horje&itm_medium=main_header&itm_campaign=practice_header')");
}
}
Output

ConclusionThe opening of a new tab is a very important feature during automation and enhances the capability of automated testing. If the user wants to open a new tab with a specific URL, then opening a new tab with a specific URL using the JavascriptExecutor method is preferred. I hope after reading the above article, you will able to open a new tab using Selenium webdriver in Java.
Frequently Asked Questions on How to Open a New Tab using Selenium WebDriver in Java?How to open multiple tabs in Selenium WebDriver Java?Answer:
Firstly take the list of all open window handles and then switch to the as you wanted tab using handle.
How to open WebDriver in Selenium Java?Answer:
- Create a WebDriver instance.
- Navigate to a webpage.
- Locate a web element on the webpage via locators in selenium.
- Perform one or more user actions on the element.
- Preload the expected output/browser response to the action.
- Run test.
How do I open a new URL in Selenium?Answer:
The get() method is the most commonly used method to open a URL in Selenium.
|