Это не всплывающее окно, это Лайтбокс .
К счастью, с этим действительно легко иметь дело, это просто стандартный HTML внутри стандартного DOM. Решение вашей проблемы:
WebDriverWait wait = new WebDriverWait(driver, 15, 100);
driver.get("https://www.printvenue.com");
System.out.println("Successfully opened the Printvenue");
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("login_li"))).click();
WebElement emailElement = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("email")));
emailElement.sendKeys("abcd@gmail.com");
Ну, это должно быть решением вашей проблемы в любом случае. Реальная проблема, которую вы видите здесь, состоит в том, что на странице есть 4 элемента (на момент написания этого), которые имеют идентификатор, который должен быть уникальным. Это проблема, которую ваши разработчики должны решить, потому что этот HTML не совместим с W3C! Я поднял бы это как ошибку и заставил бы их исправить это.
Вы можете обойти проблему, используя следующий код:
List<WebElement> emailElements = driver.findElements(By.id("email"));
System.out.println(String.format("Oh dear, there are %s instances of the id email when there should only be 1...", emailElements.size()));
emailElements.get(3).sendKeys("abcd@gmail.com");
Однако я бы посоветовал вам не делать этого, это действительно нужно исправить!