Selenium 切换句柄

最近用了网络上别人的一段切换窗口的code每次成功了,不错,学习

// 根据Title切换新窗口
  public boolean switchToWindow_Title(WebDriver driver, String windowTitle) {
    boolean flag = false;
    try {
      String currentHandle = driver.getWindowHandle();
      Set<String> handles = driver.getWindowHandles();
      for (String s : handles) {
        if (s.equals(currentHandle))
          continue;
        else {
          driver.switchTo().window(s);
          if (driver.getTitle().contains(windowTitle)) {
            flag = true;
            System.out.println("Switch to Window: " + windowTitle
                + "  successfully~~~!");
            break;
          } else
            continue;
        }
      }
    } catch (NoSuchWindowException e) {
      System.out.println("Window: " + windowTitle + " cound not find!!!"
          + e.fillInStackTrace());
      flag = false;
    }
    return flag;
  }
// 根据URL切换新窗口
  public boolean switchToWindow_Url(WebDriver driver, String windowUrl) {
    boolean flag = false;
    try {
      String currentHandle = driver.getWindowHandle();
      Set<String> handles = driver.getWindowHandles();
      for (String s : handles) {
        if (s.equals(currentHandle))
          continue;
        else {
          driver.switchTo().window(s);
          if (driver.getCurrentUrl().contains(windowUrl)) {
            flag = true;
            System.out.println("Switch to Window: " + windowUrl
                + "  successfully~~~!");
            break;
          } else
            continue;
        }
      }
    } catch (NoSuchWindowException e) {
      System.out.println("Window: " + windowUrl + " cound not find!!!"
          + e.fillInStackTrace());
      flag = false;
    }
    return flag;
  }
原文地址:https://www.cnblogs.com/zoeya/p/5082806.html