selenium 处理选择框

选择框

常见的选择框包括radio框、checkbox框、select框

radio和checkbox

radio和checkbox对应input标签的type属性,分别表示单选和多选,选择时只需要对相应元素进行点击操作。

类型 性质 是否检查选择状态 说明
radio 单选 不需要检查 选择某个选项时直接点击,会自动取消选择其他选项
checkbox 复选 checked="checked"表示选中 选择某个选项时,先点击所有已选中选项,确保所有选项未选中,再点击所需选项

select类

select类用于对select标签的处理。

select标签中,multiple属性表示多选,option标签表示选项,selected表示选中状态。

select类的方法有:

方法 说明
select_by_value() 根据value属性值选择元素
select_by_index() 根据选项的次序(从1开始)选择元素
select_by_visible_text() 根据选项的可见文本选择元素
deselect_by_value() 根据value属性值取消元素选中
deselect_by_index() 根据选项的次序(从1开始)取消元素选中
deselect_by_visible_text() 根据选项的可见文本取消元素选中
deselect_all() 取消所有选中

单项选择

<select id="single_select">
 <option value=value1>昨天</option>
 <option value=value2 selected>今天</option>
 <option value=value3>明天</option>
</select>
# 导入Select类
from selenium.webdriver.support.ui import Select

# 创建Select对象
select_object = Select(driver.find_element_by_id("single_select"))

# 通过Select对象选择“昨天”的三种方法
select_object.select_by_index(1)
select_object.select_by_value('value1')
select_object.select_by_visible_text('昨天')

多项选择

<select id="multi_select" multiple>
 <option value=value1>昨天</option>
 <option value=value2 selected>今天</option>
 <option value=value3>明天</option>
</select>
# 导入Select类
from selenium.webdriver.support.ui import Select

# 创建Select对象
select_object = Select(wd.find_element_by_id("multi_select"))

# 清除所有 已经选中 的选项
select_object.deselect_all()

# 选择 昨天 和 今天
select_object.select_by_visible_text("昨天")
select_object.select_by_visible_text("今天")
posted @ 2021-09-23 17:24  ikventure  阅读(337)  评论(0)    收藏  举报