在运行我的代码时,我遇到过 ! 在语句之前有否定或相反的语句。在这种情况下,如果---此字符串不等于此字符串。
我尝试更改字符串中的第二个值,它每次都会更正它,但我观察我的测试,这些值是正确的,它仍然可以运行。我一直想知道为什么,因为我在继续前进之前需要这个作为检查,而硒 5-10% 的时间输入该领域的速度太快了。这就是我实施此检查的原因。
driver.findElement(By.id("inputcardNumberField")).sendKeys("41111111111111111");
WebElement visa = driver.findElement(By.id("inputcardNumberField"));
String visa2 = visa.getText();
Thread.sleep(2000);
if (!visa2.equals("4111111111111111")) {
driver.findElement(By.id("inputcardNumberField")).clear();
driver.findElement(By.id("inputcardNumberField")).sendKeys("4111111111111111");
}
如果Selenium填充inputcardNumberField的速度太快,并且整个卡#不存在......它应该清除并重新输入它。
如果存在正确的卡#,则不必重新输入它。它现在每次都重新输入它
看起来我缺少 get 属性值——它应该是这样的:
driver.findElement(By.id("inputcardNumberField")).sendKeys("4111111111111111");
WebElement visa = driver.findElement(By.id("inputcardNumberField"));
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
String value = driver.findElement(By.id("inputcardNumberField")).getAttribute("value");
Thread.sleep(2000);
if (!visa2.equals("4111111111111111")) {
driver.findElement(By.id("inputcardNumberField")).clear();
driver.findElement(By.id("inputcardNumberField")).sendKeys("4111111111111111");
}