如何使用Selenium WebDriver选中多个交替的复选框?
实现Selenium交替选中复选框的方法
你已经写出了批量全选复选框的Selenium代码,要实现交替选中(隔一个选一个)的功能,只需要修改循环里的判断逻辑即可,以下是两种常用的实现方案:
完整修改后的代码示例(以选中奇数位置复选框为例)
driver.get("183.82.103.245/nareshit/login.php"); driver.findElement(By.name("txtUserName")).sendKeys("nareshit"); driver.findElement(By.name("txtPassword")).sendKeys("nareshit"); driver.findElement(By.name("Submit")).click(); Thread.sleep(3000); driver.switchTo().frame("rightMenu"); List<WebElement> AllCheckboxes = driver.findElements(By.xpath("//input[@type='checkbox']")); int size = AllCheckboxes.size(); System.out.println(size); // 方案1:选中索引为偶数的复选框(对应页面第1、3、5...个) for(int i=0;i<size;i++) { if(i % 2 == 0) { AllCheckboxes.get(i).click(); } } Thread.sleep(5000); driver.close();
两种交替选中方案说明
- 选中页面第1、3、5...个复选框:代码中列表索引从0开始,判断
i % 2 == 0即可选中索引0、2、4...对应的元素,也就是页面上的第1、3、5个复选框。 - 选中页面第2、4、6...个复选框:把判断条件改成
i % 2 == 1,即可选中索引1、3、5...对应的元素。
如果需要其他交替规则(比如每3个选1个),只需要调整取余的数值,比如i % 3 == 0就能选中每3个里的第一个。
内容的提问来源于stack exchange,提问作者Niharika Tangella
相关产品推荐
相关产品推荐

