Как открыть новое окно с помощью нового метода WindowType в Selenium 4

В примечаниях к выпуску Selenium v4.0.0.0-alpha-1 упоминается следующее:

* Added command to open a new window.

Исходный код:

  public static WindowType fromString(String text) {
    if (text != null) {
      for (WindowType b : WindowType.values()) {
        if (text.equalsIgnoreCase(b.text)) {
          return b;
        }
      }
    }
    return null;
  }
}

Может ли кто-нибудь помочь мне открыть вкладку / окно с помощью нового метода WindowType Selenium v4.x?

1 ответ

Решение

Метод newWindow(WindowType typeHint) вводится для открытия нового окна или вкладки в Selenium 4

/**
 * Creates a new browser window and switches the focus for future commands of this driver
 * to the new window.
 * <p>
 * See <a href="https://w3c.github.io/webdriver/#new-window">W3C WebDriver specification</a>
 * for more details.
 *
 * @param typeHint The type of new browser window to be created. The created window is not
 *                 guaranteed to be of the requested type; if the driver does not support
 *                 the requested type, a new browser window will be created of whatever type
 *                 the driver does support.
 * @return This driver focused on the given window
 */
WebDriver newWindow(WindowType typeHint);

Пример использования

System.setProperty("webdriver.edge.driver","D:\\SomeLocation\\msedgedriver.exe");
WebDriver  driver = new EdgeDriver();
driver.get("https://www.google.com");

// This will open the new tab
driver.switchTo().newWindow(WindowType.TAB);
driver.get("http://www.google.com");

// This will open the new window
driver.switchTo().newWindow(WindowType.WINDOW);
driver.get("http://www.google.com");
Другие вопросы по тегам