登录无法在selenium webdriver 3.4.0版本中使用。
源代码:
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
System.setProperty("webdriver.ie.driver", "D:\\Jars\\IEDriverServer.exe");
InternetExplorerDriver driver= new InternetExplorerDriver();
// Navigating to URL
driver.navigate().to("https://login.yahoo.com/");
//finding Username field
driver.findElement(By.id("login-username")).sendKeys("randomusername");
// Clicking on Next button
driver.findElement(By.id("login-signin")).click();
//Thread.sleep(3000);
// Entering the password field
driver.findElement(By.id("login-passwd")).sendKeys("random_password");
// Clicking on Signin button
driver.findElement(By.id("login-signin")).click();
// Driver Closing
driver.close();
}
请建议我解决。谢谢。
答案 0 :(得分:0)
您输入的登录ID后,您的密码字段变得陈旧,您的代码无效;所以为了避免使用陈旧元素,你必须检查该元素是否在DOM中再次出现;因此使用一些明确的等待如下:
WebDriverWait wait = new WebDriverWait(driver,10);
wait.until(ExpectedConditions.stalenessOf(driver.findElement(By.id("login-passwd"))));
driver.findElement(By.id("login-passwd")).sendKeys("random_password");