一、什么是单选框、复选框?

二、被测页面html源代码
CheckBoxRadioDemo.html
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <title>CheckBox、Radio练习案例</title> 6</head> 7<body> 8<div> 9 <h3>复选框 checkbox</h3> 10 请选择喜欢的打野英雄:<br> 11 <label><input name="checkbox1" type="checkbox" value="李白"/>李白 </label><br> 12 <label><input name="checkbox2" type="checkbox" value="韩信"/>韩信 </label><br> 13 <label><input name="checkbox3" type="checkbox" value="公孙离" checked="checked"/>公孙离 </label><br> 14 <label><input name="checkbox4" type="checkbox" value="露娜"/>露娜 </label><br> 15</div> 16<div> 17 <h3>单选框 radio</h3> 18 选择喜欢的打野英雄:<br> 19 <label><input name="radio" type="radio" value="0" checked="checked"/>李白 </label><br> 20 <label><input name="radio" type="radio" value="1"/>韩信 </label><br> 21 <label><input name="radio" type="radio" value="2"/>露娜 </label><br> 22 <label><input name="radio" type="radio" value="3"/>孙尚香 </label><br> 23</div> 24</body> 25</html>
三、判断是否选中:isSelected()
有时单选框、复选框会有默认选中的情况,那么有必要我在操作单选框或者复选框的时候,先判断选项框是否为选中状态。使用element.isSelected()来获取元素是否为选中状态,返回结果为布尔类型,如果为选中状态返回true,如果未选中返回为false。至于操作就不必多说了,对大家来讲是so easy,就点击就可以了。
四、单选框处理
具体实例代码如下:
1 @Test 2 public void testRadio() { 3 driver.get("file:///C:/Users/Administrator/Desktop/CheckBoxRadioDemo.html"); 4 driver.manage().window().maximize(); 5 driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 6 //获取第1个单选框李白元素对象 7 WebElement element = driver.findElement(By.cssSelector("[value='0']")); 8 boolean isSelected = element.isSelected(); 9 //查看李白是否被选中 10 if (isSelected){ 11 System.out.println("李白已被选中,你只能选下一个英雄了"); 12 } 13 //获取第3个单选框露娜元素对象 14 element = driver.findElement(By.cssSelector("[value='2']")); 15 //判断是否被选中 16 if(!element.isSelected()){ 17 //如果未被选中,就可以直接选了 18 element.click(); 19 } 20 }
五、复选框处理
具体实例代码如下:
1 @Test 2 public void testCheckbox() { 3 driver.get("file:///C:/Users/Administrator/Desktop/CheckBoxRadioDemo.html"); 4 driver.manage().window().maximize(); 5 driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 6 //获取第三个复选框公孙离元素对象 7 WebElement element = driver.findElement(By.name("checkbox3")); 8 boolean isSelected = element.isSelected(); 9 //如果选中取消选中 10 if (isSelected){ 11 element.click(); 12 } 13 /** 14 * 全选操作 15 */ 16 List<WebElement> elements = driver.findElements(By.cssSelector("[type='checkbox']")); 17 for (WebElement webElement :elements) { 18 //点击选中 19 webElement.click(); 20 } 21 }
六、运行结果
