我想使用for循环,以便从第1个复选框(第4个复选框)中单击它们以进行自动化测试。
webdriver.findElement(By.cssSelector("#mat-checkbox-1 .mat-checkbox-inner-container")).click();
webdriver.findElement(By.cssSelector("#mat-checkbox-2 .mat-checkbox-inner-container")).click();
webdriver.findElement(By.cssSelector("#mat-checkbox-3 .mat-checkbox-inner-container")).click();
webdriver.findElement(By.cssSelector("#mat-checkbox-4 .mat-checkbox-inner-container")).click();
我已经尝试了下面的代码,但是仍然无法正常工作。
for(int i=1; i>=4; i++){
webdriver.findElement(By.cssSelector("#mat-checkbox-"+i+".mat-checkbox-inner-container")).click();
}
答案 0 :(得分:4)
首先,您的循环不正确。第二个条件是关于循环何时应运行,并且由于您将其设为i>=4
并从i=1
开始,因此它将永远不会运行。另外,您应使用;
分隔条件,因此您的情况下正确的for循环应为:for(int i = 1; i <= 4; i++){...}
。最后,您忘记了.mat-checkbox-..
部分之前的空白。正确的代码应如下所示:
for(int i = 1; i <= 4; i++){
webdriver.findElement(By.cssSelector("#mat-checkbox-"+i+" .mat-checkbox-inner-container")).click();
}