Python Selenium自动化测试:Checkbox与Radio Button操作详解
本文详细介绍在Python Selenium自动化测试中如何操作HTML表单中的复选框(Checkbox)和单选按钮(Radio Button)。通过具体示例代码,演示了如何利用click()方法实现选项的选择与反选,以及如何根据名称定位元素组并依据值进行单选操作。内容涵盖HTML结构分析与Python脚本实现,适用于Web自动化测试初学者参考。
在HTML表单设计中,复选框(checkbox)和单选按钮(radiobox)是常见的交互组件。例如,在收集用户偏好时,如运动爱好(跑步、游泳、跳舞)通常采用复选框以支持多选;而在涉及互斥选项如性别(男、女)时,则使用单选按钮确保单一选择。
对于复选框的操作,主要涉及选中或取消选中状态。在Selenium中,可以通过调用元素的click()方法来实现这一功能。当元素未被选中时,点击即可选中;若已选中,再次点击则取消选中。
单选按钮(radiobox)的特点是具有相同的name属性,但value值不同。操作时,首先通过name属性定位到包含所有相关单选按钮的元素列表,然后根据具体的value值判断当前状态,最后使用click()方法选择目标选项。
为了演示上述操作,我们构建了一个包含复选框和单选按钮的示例HTML页面。

该示例页面的HTML代码如下,定义了一个表单,其中包含三个复选框(跑步、游泳、跳舞)和两个单选按钮(男、女),以及一个提交按钮。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="javascript:alert('selenium操作表单中checkbox和radiobutton')">
测试from表单操作checkbox和radiobutton<br>
跑步:<input type="checkbox" name="running" value="running"><br>
游泳:<input type="checkbox" name="swimming" value="swimming"><br>
跳舞:<input type="checkbox" name="dancing" value="dancing"><br>
<!--<hr>分界线-->
<hr>
性别:<br>
男:<input type="radio" name="gender" value="male"><br>
女:<input type="radio" name="gender" value="female"><br>
<input type="submit" value="login">
</form>
</body>
</html>
基于上述HTML结构,我们编写了Python Selenium测试脚本。脚本首先定位到特定的复选框元素,检查其选中状态,若未选中则执行点击操作以选中;对于单选按钮,通过name属性获取元素列表,并直接对目标索引的元素执行点击操作。
import os
from selenium import webdriver
from time import sleep
class TestCheckBoxOrRadioBtn(object):
def setup(self):
self.driver = webdriver.Chrome()
path = os.path.dirname(os.path.abspath(__file__))
file_path = 'file:///'+path+'/html/form.html'
self.driver.get(file_path)
def test_checkbox(self):
#定位跳舞
dancing=self.driver.find_element_by_name("dancing")
#如果没有选择,则点击选择
if not dancing.is_selected():
dancing.click()
sleep(2)
running = self.driver.find_element_by_name("running")
if not running.is_selected():
running.click()
sleep(2)
swimming = self.driver.find_element_by_name("swimming")
if not swimming.is_selected():
swimming.click()
sleep(2)
#再次点击取消选择游泳
swimming.click()
sleep(2)
self.driver.quit()
def test_radio(self):
#获得元素列表
gender= self.driver.find_elements_by_name("gender")
#选中性别男
gender[0].click()
sleep(2)
# 选中性别女
gender[1].click()
sleep(2)
self.driver.quit()
if __name__ == '__main__':
case = TestCheckBoxOrRadioBtn()
case.test_checkbox()
case.test_radio()
执行上述脚本后,浏览器将自动打开示例页面,并依次执行复选框的选择与取消操作,以及单选按钮的选择操作,最终关闭浏览器窗口。

综上所述,本文详细解析了使用Python Selenium进行Checkbox和Radio Button自动化测试的具体方法。通过理解元素定位与click()方法的应用,开发者可以更高效地处理表单交互测试。如需了解更多Selenium相关技巧,建议查阅本站其他技术文章。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













