如何使用selenium(java)在IE中打开新选项卡并在该选项卡中打开一个URL(不是窗口)

时间:2014-04-02 18:55:36

标签: java selenium tabs

如何使用selenium(java)在IE中打开新标签页并在该标签页(不是窗口)中打开网址? 我使用以下代码打开一个新标签?

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  

任何人都可以告诉我,如何将控件转移到新标签页,以便在新标签页中打开facebook链接。

你好

我使用的是Selenium Web-Driver版本2.40和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)

我无法在同一窗口的新标签页上打开Facebook ..

此致 Shashank Goyal

2 个答案:

答案 0 :(得分:1)

您需要使用

driver.switchTo().window(String)

切换到出现的窗口,就像打开新窗口一样。

答案 1 :(得分:0)

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

你可以传递索引值的位置,或者可以使用arrayList tabhandles1迭代到所有选项卡