1

我想在一个标签中打开 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 吗?

4

2 回答 2

1

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

但是如果选项卡没有打开,Selenium 不提供任何机制来做到这一点,所以你必须围绕它实现(比如使用java.awt.Robot类)

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

于 2013-09-30T07:54:19.730 回答
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");
于 2013-09-30T07:40:34.597 回答