简体   繁体   中英

How to open new tab in IE using selenium (java) and open a url in that tab (not window)

How do I open a new tab in IE using selenium (java) and open a url in that tab (not window)? I am using the below code to open a new tab?

driver.get("https://google.com/");

//below line of code opens a new tab but does sets control on new tab.
driver.findElement(By.cssSelector("Body")).sendKeys(Keys.CONTROL + "t");//opens new tab

// As control does not sets on new tab, the below link opens on first tab only..
driver.get("https://facebook.com/");//but load facebook in first tab i.e on google page  

Can anyone tell me, how to shift control to new tab so that the facebook link opens in that new tab.

Hi

I using Selenium Web-Driver Version 2.40 and IE 11.0

WebDriver driver = new InternetExplorerDriver(ieCapabilities);

driver.manage().window().maximize();

  driver.get("https://google.com/");

  driver.findElement(By.cssSelector("Body")).sendKeys(Keys.CONTROL + "t");//opens new tab

 //Store the current window handle

  String winHandleBefore = driver.getWindowHandle();

  //Perform the click operation that opens new window //Switch to new window open 

   for(String winHandle : driver.getWindowHandles()){

   driver.switchTo().window(winHandle);

    driver.get("https://facebook.com/");

    }

    // Perform the actions on new window

    //Close the new window, if that window no more required

   driver.close();

   //Switch back to original browser (first window)

     driver.switchTo().window(winHandleBefore);

     //continue with original browser (first window)

I am not able to open facebook on new tab of same window..

Regards Shashank Goyal

You'll need to use

driver.switchTo().window(String)

to switch to the window that has come up just as you would with opening a new window.

ArrayList<String> tabHandles1 = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabHandles1.get(index));

u can pass the place the value of index or can iterate to all the tab using arrayList tabhandles1

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM