Всплывающее окно - это элемент HTML, а не модальное диалоговое окно для использования driver.switchTo().alert()
.
Чтобы ввести электронную почту, нужно дождаться элемента, и для этого sleep
неудачный выбор. Приведенный ниже код ожидает появления email
с использованием WebDriverWait , это лучшая практика.
Кроме того, не рекомендуется использовать //*[@id=\"loginBox\"]/div[2]/div/div/div[1]/div
как селекторы. Вы можете найти некоторую полезную информацию о передовой практике для селекторов здесь .
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
// ...
WebDriverWait wait = new WebDriverWait(driver, 10);
driver.findElement(By.xpath("//*[@id=\"loginBox\"]/div[2]/div/div/div[1]/div")).click();
WebElement email = wait.until(ExpectedConditions.visibilityOfElementLocated(By.name("Email")));
email.sendKeys("xxx@yyy.com");
email.submit();