132 votes

Comment ouvrir un nouvel onglet en utilisant Selenium WebDriver en Java ?

Comment ouvrir un nouvel onglet dans le navigateur Firefox existant en utilisant Selenium WebDriver (alias Selenium 2) en Java ?

8voto

Junaid Khan Points 303

Pour ouvrir une nouvelle fenêtre dans Chrome Driver.

// The script that will will open a new blank window
// If you want to open a link new tab, replace 'about:blank' with a link
String a = "window.open('about:blank','_blank');";
((JavascriptExecutor)driver).executeScript(a);

Pour passer d'un onglet à l'autre, lisez ici .

6voto

Prasanth Rj Points 41

Essayez ceci pour le navigateur Firefox.

/*  Open new tab in browser */
public void openNewTab()
{
    driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t");
    ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
    driver.switchTo().window(tabs.get(0));
}

6voto

MattW. Points 4353

Presque toutes les réponses ici sont périmées.

(exemples de rubis)

WebDriver prend désormais en charge l'ouverture des onglets :

browser = Selenium::WebDriver.for :chrome
new_tab = browser.manage.new_window

Ouvre un nouvel onglet. L'ouverture d'une fenêtre est en fait devenue le cas non standard :

browser.manage.new_window(:window)

L'onglet ou la fenêtre ne sera pas automatiquement focalisé(e). Pour y accéder :

browser.switch_to.window new_tab

4voto

user2000197 Points 41

Pour ouvrir un nouvel onglet dans le navigateur Chrome existant en utilisant Selenium WebDriver, vous pouvez utiliser ce code :

driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t");        
string newTabInstance = driver.WindowHandles[driver.WindowHandles.Count-1].ToString();
driver.SwitchTo().Window(newTabInstance);
driver.Navigate().GoToUrl(url);

3voto

Nagaraju Jampani Points 726

Le code ci-dessous ouvrira le lien dans une nouvelle fenêtre :

String selectAll = Keys.chord(Keys.SHIFT, Keys.RETURN);
driver.findElement(By.linkText("linkname")).sendKeys(selectAll);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X