尝试将隐式等待时间设置为大约10秒。
gmail.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
或设置一个明确的等待。显式等待是您定义的代码,用于等待特定条件发生后再继续执行代码。您的情况就是密码输入字段的可见性。
WebDriverWait wait = new WebDriverWait(gmail, 10);WebElement element = wait.until( ExpectedConditions.visibilityOfElementLocated(By.id("Passwd")));gmail.findElement(By.id("Passwd")).sendKeys("xyz");说明: 硒找不到元素的原因是因为
idpassword输入字段的最初是
Passwd-hidden。单击“下一步”按钮后,Google首先验证输入的电子邮件地址,然后显示密码输入字段(将ID从更改
Passwd-hidden为
Passwd)。因此,当密码字段仍然隐藏时(即Google仍在验证电子邮件ID),您的网络驱动程序将开始搜索ID
Passwd仍然隐藏的密码输入字段。因此,将引发异常。



