11、selenium radio单选框、checkbox复选框、select多选框

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('其他老师')
posted @ 2021-09-15 08:18  东北小酱  阅读(413)  评论(0)    收藏  举报