Java 我试图执行以下if-else条件,但else部分未执行';如果';条件不满足
在下面的代码中,如果登录成功,它应该在控制台中打印“login passed”。如果失败,它应该打印输入错误凭据的用户 如果登录失败,它工作正常。但当登录成功时,else部分不会执行。请帮我找出哪里做错了Java 我试图执行以下if-else条件,但else部分未执行';如果';条件不满足,java,selenium,Java,Selenium,在下面的代码中,如果登录成功,它应该在控制台中打印“login passed”。如果失败,它应该打印输入错误凭据的用户 如果登录失败,它工作正常。但当登录成功时,else部分不会执行。请帮我找出哪里做错了 driver.findElement(By.xpath("//*[@id=\"btnLogin\"]")).click(); if(driver.findElement(By.xpath("/html/body/div/form/div/div/span")).getText().equ
driver.findElement(By.xpath("//*[@id=\"btnLogin\"]")).click();
if(driver.findElement(By.xpath("/html/body/div/form/div/div/span")).getText().equals("Invalid Credential")) {
System.out.println(user);
}
else {
System.out.println("Login Passed");
}
错误:
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div/form/div/div/span"}
有两种方法可以执行if-else梯形图
isDisplayed()
方法集成,该方法出现在Selenium中李>
比如:
driver.findElement(By.xpath("//*[@id="btnLogin"]")).click();
try{
if(driver.findElement(By.xpath("/html/body/div/form/div/div/span")).isDisplayed())
{
System.out.println("Invalid");
}
else{
System.out.println("Valid");
}
catch(Exception e){
System.out.println("in exception");
}
driver.findElement(By.xpath("//*[@id="btnLogin"]")).click();
if(driver.findElements(By.xpath("/html/body/div/form/div/div/span")).size()==1){
System.out.println("Invalid");
}
else {
System.out.println("Login Passed");
}
当Selenium未能找到与您给出的路径对应的元素时,它会引发NoTouchElement异常
使用try-catch并处理该情况。当VM尝试处理您的情况时,会引发异常。您需要更正代码,或添加异常/错误handling@Bhuvana:没问题,伙计。。很高兴帮助你:)