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

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库