selenium基础学习-选择框

1.radio框:

 

   元素标签名:input

  radio框选择选项,直接用WebElement的click方法,模拟用户点击就可以了。

from selenium import webdriver

wd = webdriver.Chrome()
wd.implicitly_wait(10)
wd.get('http://cdn1.python3.vip/files/selenium/test2.html')

# 获取当前选中的元素
element = wd.find_element_by_css_selector('#s_radio [checked="checked"]')
# 打印当前老师的名字
print(element.get_attribute('value'))
# 选择小雷老师
wd.find_element_by_css_selector('#s_radio [value="小雷老师"]').click()

wd.quit()

 

2.checkbox框

 

   元素标签名:input

  对checkbox进行选择, 是直接用 WebElement 的 click 方法,模拟用户点击选择

  需要注意的是,要选中checkbox的一个选项,必须 先获取当前该复选框的状态 ,如果该选项已经勾选了,就不能再点击。否则反而会取消选择。

   所以思路可以是这样的:

  • 先把 已经选中的选项全部点击一下,确保都是未选状态
  • 再点击需要选择的内容
from selenium import webdriver

wd = webdriver.Chrome()
wd.get('http://cdn1.python3.vip/files/selenium/test2.html')
wd.implicitly_wait(10)

# 先把 已经选中的选项全部点击一下
elements = wd.find_elements_by_css_selector('#s_checkbox [checked="checked"]')

for element in elements:
    element.click()


# 再点击需要选择的
wd.find_element_by_css_selector('#s_checkbox [value="小雷老师"]').click()


wd.quit()

 

 

3.select选择框:

  元素标签名:select

  对于Select 选择框, Selenium 专门提供了一个 Select类 进行操作。

   选择元素:

     select_by_value:根据选项的 value属性值 ,选择元素。

     select_by_index:根据选项的 次序 (从0开始),选择元素

     select_by_visible_text:根据选项的 可见文本(即尖括号之间的内容) ,选择元素。

   去除选中元素:

     deselect_by_value:根据选项的value属性值, 去除 选中元素

     deselect_by_index:根据选项的次序,去除 选中元素

     deselect_by_visible_text:根据选项的可见文本,去除 选中元素

     deselect_all:去除 选中所有元素

  1.select单选框:不管原来选的是什么,直接用Select方法选择即可

# 导入select类
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui import Select
# 创建select对象
select = Select(wd.find_element_by_id('ss_single'))
# 通过select对象选中对应选项
select.select_by_visible_text('小雷老师')

  2.select多选框:要选中某几个选项,要注意去掉原来已经选中的选项

# 导入select类
from selenium.webdriver.support.select import Select
# 创建select对象
select = Select(wd.find_element_by_id('ss_multi'))
# 清楚所有已经选中的选项
select.deselect_all()
# 通过select对象选中对应选项
select.select_by_visible_text('小雷老师')
select.select_by_visible_text('小凯老师')

 

posted @ 2021-02-02 22:20  小太阳Sinimy  阅读(161)  评论(0编辑  收藏  举报