17.Selenium【单/复选框】单选框(Radio)复选框(CheckBox)
一、前言
单选框叫radio 复选框叫checkbox 区别就是单选框的选项是互斥的,也就是说你只能选一个选项类似于单选题。同理复选框类似多选题想怎么选就怎么选。
一般情况下这两种都是input标签,我们可以通过点击或者发送空格的方式进行选中。
二、学习目标
1.单选框勾选
2.复选框勾选
3.判断是否勾选
三、知识点
示例网页源码:
<html>
<body>
Checkbox:
<input type="checkbox" value="cv1" name="c1">
<input type="checkbox" value="cv2">
<input type="checkbox" value="cv3" name="c1">
<input type="checkbox" value="cv4">
<p>
Radio:
<input type="radio" value="rv1" name="r1">
<input type="radio" value="rv2" name="r1">
</body>
</html>
1.【单选框勾选】
代码示例:
# checkbox
driver.find_element_by_xpath('//input[@value="cv1"]').click() #选择第一个复选框
driver.find_element_by_xpath('//input[@value="cv2"]').send_keys(Keys.SPACE) #选择第二个复选框
2.【复选框勾选】
代码示例:
# radio
driver.find_element_by_xpath('//input[@value="rv1"]').send_keys(Keys.SPACE) #选择第一个单选框
time.sleep(1)
driver.find_element_by_xpath('//input[@value="rv2"]').click() #选择第二个单选框
3.【判断是否勾选】
-
语法:
element.is_selected()
-
参数:
无
-
返回值:
已选择:返回True
未选择:返回False
-
代码示例:
# checkbox checkbox1 = driver.find_element_by_xpath('//input[@value="cv1"]') checkbox1.click() #选择第一个复选框 state1 = checkbox1.is_selected() #判断元素是否被选择 print(state1) # radio radio1 = driver.find_element_by_xpath('//input[@value="rv1"]') radio1.click() #选择第一个单选框 state2 = radio1.is_selected() #判断元素是否被选择 print(state2)