在这里,我必须使用selenium
选中该复选框,我无法选择它。它只有一个我正在使用的类名选项,但出现错误:
org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{"方法":"类名","选择器":& #34; um-icon-android-checkbox-outline"}
码
@Test
public void validemail()
{
WebElement email=driver.findElement(By.id("username-15"));
email.clear();
email.sendKeys("ceicateviewer");
WebElement password=driver.findElement(By.id("user_password-15"));
password.clear();
password.sendKeys("1256Aa");
WebElement showpassword=driver.findElement(By.className("um-icon-android-checkbox-outline"));
showpassword.click();
WebElement keepsignin=driver.findElement(By.className("um-icon-android-checkbox-outline"));
keepsignin.click();
/*WebElement login=driver.findElement(By.className("um-button"));
login.click();*/
}
答案 0 :(得分:0)
因此,我从您的代码中得知,复选框showpassword
和复选框keepsignin
似乎具有相同的类名。这意味着,至少有2个元素具有类名um-icon-android-checkbox-outline
,这就是为什么当您使用driver.findElement
时,驱动程序并不知道哪一个。{1}}。在这种情况下,您必须使用driver.findElements
。你可以试试这个:
List<WebElement> checkboxes = driver.findElements(By.className("um-icon-android-checkbox-outline"));
// assuming there are only 2 elements have this classname, and in this order
checkboxes.get(0).click(); // click on showpassword
checkboxes.get(1).click(); // click on keepsignin
希望它有所帮助。