How to open a new tab using Selenium WebDriver in Java?
Just for anyone else who's looking for an answer in Ruby, Python, and C# bindings (Selenium 2.33.0).
Note that the actual keys to send depend on your OS. For example, Mac uses CMD + T, instead of Ctrl + T.
Ruby
require 'selenium-webdriver'driver = Selenium::WebDriver.for :firefoxdriver.get('http://stackoverflow.com/')body = driver.find_element(:tag_name => 'body')body.send_keys(:control, 't')driver.quit
Python
from selenium import webdriverfrom selenium.webdriver.common.keys import Keysdriver = webdriver.Firefox()driver.get("http://stackoverflow.com/")body = driver.find_element_by_tag_name("body")body.send_keys(Keys.CONTROL + 't')driver.close()
C#
using OpenQA.Selenium;using OpenQA.Selenium.Firefox;namespace StackOverflowTests { class OpenNewTab { static void Main(string[] args) { IWebDriver driver = new FirefoxDriver(); driver.Navigate().GoToUrl("http://stackoverflow.com/"); IWebElement body = driver.FindElement(By.TagName("body")); body.SendKeys(Keys.Control + 't'); driver.Quit(); } }}
The code below will open the link in a new tab.
String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN);driver.findElement(By.linkText("urlLink")).sendKeys(selectLinkOpeninNewTab);
The code below will open an empty new tab.
String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,"t");driver.findElement(By.linkText("urlLink")).sendKeys(selectLinkOpeninNewTab);
Do this:
driver.ExecuteScript("window.open('your URL', '_blank');");