1、radio单选框,直接用WebElement的click方法,模拟用户点击就可以了
def radioo():
# 单选框定位、勾选,定位单选框的id
radios = browser.find_elements_by_id(‘as‘)
for radio in radios:
radio.click()
time.sleep(2)
2、对checkbox进行选择,也是直接用WebElement的click方法,模拟用户点击就可以了。
需要注意的是,要选中checkbox的一个选项,必须先获取当前该复选框的状态,如果该选项已经勾选,就不能再点击,否则会取消选择。
我们的思路可以是这样:先把已经选中的选项全部点击一下,确保都是未选状态;然后再点击小雷老师
#先把已经选中的选项全部点击一下
elements=wd.find_elements_by_css_selector(‘XXXXXXX‘)
for element in elements:
element.click()
#再点击小雷老师
wd.find_elements_by_css_selector(‘小雷老师‘).click()
网上还有这么写的:
def checkboxx():
# 复选框定位、勾选
inputs = browser.find_elements_by_tag_name(‘input‘)
for input in inputs:
if input.get_attribute(‘type‘) == ‘checkbox‘:
input.click()
time.sleep(2)
browser.find_elements_by_css_selector(‘input[type=checkbox]‘).pop().click() # 取消最后一个选中
time.sleep(2)
3、select下拉多选框
之前的博客写了,选择select单选框的操作,分为select元素的和非select元素的;
这回写一下select下拉框多选的,步骤很简单:先清除所有已经选中的选项,然后再选择你想要的
from selenium.webdriver.support.ui import Select
#创建select对象
select = Select(wd.find_element_by_id(‘xxxxx‘))
#清除所有已经选中的选项
select.deselect_all()
#选择小雷老师和其他老师
select.select_by_visible_text(‘小雷老师‘)
select.select_by_visible_text(‘其他老师‘)