如何使用webdriver打开新选项卡并在其中输入地址

时间:2013-09-30 07:31:03

标签: java webdriver

我想在一个标签页中打开www.google.com,然后打开新标签页并打开www.facebook.com 我正在使用下面的代码,但它在第一个选项卡中打开Facebook

driver.get("www.google.com");    
driver.findElement(By.tagName("Body")).sendKeys(keys.CONTROL + "t");//opens new tab  
driver.get("www.facebook.com");//but load facebook in first tab i.e on google page  

这是因为我使用的是同名driver.get ??

2 个答案:

答案 0 :(得分:1)

如果打开新标签的代码有效,您可以使用driver.switchTo().window()切换到新打开的标签页(如here所示)。

但是如果选项卡没有打开,Selenium没有提供任何机制来执行此操作,因此您必须围绕它实现(例如使用java.awt.Robot类)

您还应该考虑使用两个不同的WebDriver实例,并在自己的窗口中运行您的网站

答案 1 :(得分:0)

使用java awt Robot类,如下所示。

          driver.get("http://www.google.com");    
          Robot r = new Robot();        
          r.keyPress(KeyEvent.VK_CONTROL);
          r.keyPress(KeyEvent.VK_T);
          r.keyRelease(KeyEvent.VK_CONTROL);
          r.keyRelease(KeyEvent.VK_T);
          driver.get("http://www.facebook.com");