gpt4 book ai didi

java - 我正在尝试执行下面的 if else 条件,但 else 部分未执行 'if' 条件不满足

转载 作者:行者123 更新时间:2023-11-30 05:59:03 26 4
gpt4 key购买 nike

在下面的代码中,如果登录成功,应该在控制台中打印“登录已通过”。如果失败,它应该打印输入错误凭据的用户。

即使登录失败也能正常工作。但是登录成功时enter image description here ,否则部分不执行。请帮助我解决我做错的地方。

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 梯形图。

  1. 您可以使用 try catch block 并将代码与 Selenium 中存在的 isDisplayed() 方法集成。

类似于:

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");
}
  • 使用列表(在此处存储无效的凭据 xpath)并检查其大小。如果大小为1,则网页肯定有错误消息,否则流程将转到else语句。
  • 代码:

    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");
    }

    关于java - 我正在尝试执行下面的 if else 条件,但 else 部分未执行 'if' 条件不满足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52588207/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com