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")