硒2:在新标签页中打开链接并关闭标签页

我希望能够在Selenium 2的新选项卡中打开链接。另外,我想在完成与页面交互时关闭选项卡。如果我有一个标签,这怎么可能?WebElement<a>

我正在使用Selenium 2的Java API和Firefox驱动程序,在Firefox 4上运行。


答案 1

我弄清楚硒2的方式,适用于Chrome和firefox,IE有安全检查问题:

Set<String> winSet = webDriver.getWindowHandles();
List<String> winList = new ArrayList<String>(winSet);
String newTab = winList.get(winList.size() - 1);
webDriver.close(); // close the original tab
webDriver.switchTo().window(newTab); // switch to new tab

答案 2

目前,Selenium WebDriver API没有任何处理选项卡的方法。在我期望看到像Java这样的语言绑定中的实现之前,该项目确实需要一组一致的跨浏览器方法来管理选项卡。在那之前,您的 JavaScript 解决方案可能是唯一的方法,请记住,您的代码将负责管理该选项卡的生存期。


推荐