如何从当前窗口打开新标签页?

时间:2018-06-27 12:46:00

标签: selenium

我用下面的代码打开了新标签页。。 有人可以帮忙吗,还有其他方法吗?

Robot rr= new Robot();
    rr.keyPress(KeyEvent.VK_CONTROL);
    rr.keyPress(KeyEvent.VK_T);
    rr.keyRelease(KeyEvent.VK_CONTROL);
    rr.keyRelease(KeyEvent.VK_T);
    Set<String> allWindows=driver.getWindowHandles();`enter code here`
    System.out.println(allWindows);
    List<String> list=new ArrayList<String>();
    driver.switchTo().window(list.get(1));
    driver.get("url");

2 个答案:

答案 0 :(得分:1)

您可以使用Javascript执行程序在同一窗口中打开新标签。请按照以下方法操作:

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.open();");

我已经在我的MAC机器上尝试过它,并且它按预期运行。

答案 1 :(得分:0)

String parentWindowHandler=driver.getWindowHandle();// Store your parent window
String subWindowHandler = null;
Set<String> handles = driver.getWindowHandles(); // get all window handles
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()){
  subWindowHandler = iterator.next();
}
driver.switchTo().window(subWindowHandler); // Switch to new tab