在 Do While 循环中比较字符串 Java

Compare Strings in Do While Loop Java

我正在 Java 学习 Selenium。我想在 do while 循环中比较 2 个字符串,我希望循环保持 运行 除非我的 2 个字符串值相等,当值相等时循环应该停止。 现在我向您展示我的代码并告诉您我想用这段代码做什么。 它将打开 https://www.facebook.com,在 Facebook 主页上,class "First Name" 字段的名称是 "inputtext _58mg _5dba _2ph-"。所以我创建了一个字符串变量 cname1 ,它将在循环中存储当前聚焦元素的 class 值,并且 cname2 变量具有值 "inputtext _58mg _5dba _2ph-" ,然后我在 do while 中比较这两个循环,当 cname1cname2 相等时循环应该停止。 但它不起作用,它停止在 Facebook 的密码字段而不是 运行 直到名字字段。谢谢

public class HelloWorldTest {
private static String cname1;
private static String cname2;

public static void main(String[] args) {

WebDriver driver = new FirefoxDriver();
driver.get("https://www.facebook.com/"); 
driver.findElement(By.id("email")).click(); 

do {
     driver.switchTo().activeElement().sendKeys(Keys.TAB);
     WebElement element = driver.switchTo().activeElement();
     String cname1 = element.getAttribute("class");
     String cname2 = "inputtext _58mg _5dba _2ph-";
     System.out.println(cname1);
     System.out.println(cname2);
    }
    while ( cname1 != cname2 );
}

private void sendKeys(Keys enter) {}

}

试试这个:

while ( !cname2.equals(cname1) );