Selenium(四) -----radio框、checkbox框、select框的定位与操作

radio框、checkbox框、select框的定位与操作

radio框

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

给出以下html

<div id="radio">
  <input type="radio" name="zimu" value="a">a<br>
  <input type="radio" name="zimu" value="b">b<br>
  <input type="radio" name="zimu" value="c" checked="checked">c
</div>

如果我们要打印当前默认选中的单选框的值

# 获取当前选中的元素
element = wd.find_element_by_css_selector(
  '#radio input[checked=checked]')
print('当前选中的是: ' + element.get_attribute('value'))

如果我们要web自动化选选项为a的值

# 选择a
wd.find_element_by_css_selector(
  '#radio input[value="a"]').click()

 

checkbox框

<div id="html">
  <input type="checkbox" name="zimu" value="a">a<br>
  <input type="checkbox" name="zimu" value="b">b<br>
  <input type="checkbox" name="zimu" value="c">c
</div>

 

我们要选择a b两个框:

wd.find_element_by_css_selector(
  "#checkbox input[value='a']").click()
wd.find_element_by_css_selector(
  "#checkbox input[value='b']").click()

 

select框

select分多选与单选,对于select,Selenium 专门提供了一个 Select类对其 进行操作。

Select类 提供了如下如下的方法

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

select_by_visible_text:根据选项的 文本 ,选择元素

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

select_by_visible_text:根据选项的可见文本

sselect_deselect_all():去除选中的元素

<select id="dsing">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

我们以选择saab为例

# 导入Select类
from selenium.webdriver.support.ui import Select
from selenium import webdriver
wd=webdriver.Chrome(r'd:\Web自动化\chromedriver.exe')
# 创建Select对象
s = Select(wd.find_element_by_id("dsing"))

# 通过 Select 对象选中Saab
s.select_by_visible_text("Saab")

#通过Select对象的value值选择Saab
s.select_by_value("saab")

 

posted @ 2019-11-11 10:49  小小夏央  阅读(1492)  评论(0编辑  收藏  举报