selenium自动化测试入门 下拉框元素定位
选择获取反选下拉框元素首先要实例化select元素from selenium.webdriver.support.ui import Select # 引入包
select_element=Select(element) # 实例化select
三种常用选择方法
select_element.select_by_index(index) 根据index定位,从0开始
select_element.select_by_value(value) 根据value属性定位
select_element.select_by_visible_text(text) 根据文本定位
反选的方法
select_element.deselect_by_index(index) 根据index定位,从0开始
select_element.deselect_by_value(value) 根据value属性定位
select_element.deselect_by_visible_text(text) 根据文本定位
select_element.deselect_all() 取消全部选择
获取选项的值
select_element.options 返回这个select元素所有的options
select_element.all_selected_options 所有被选中的options
select_element.first_selected_option 第一个被选中的option
创建select.html 文件,代码如下:
<form>
<select id="s1Id">
<option></option>
<option value="o1" id="id1">o1</option>
<option value="o2" id="id2">o2</option>
<option value="o3" id="id3">o3</option>
</select>
<br/><br/>
<select id="s2Id" multiple="multiple" size="6">
<option></option>
<option value="o1val">o1</option>
<option value="o2val">o2</option>
<option value="o3val">o3</option>
<option value="o4val"> With spaces</option>
<option value="o4val"> With nbsp</option>
</select>
</form> 示例1:采用三种方法依次选择's1Id'的值
s1 = Select(driver.find_element_by_id('s1Id'))# 实例化Select,页面第一个下拉框
s1.select_by_index(1)# 选择第二项选项:o1
s1.select_by_value("o2")# 选择value="o2"的项
s1.select_by_visible_text("o3")# 选择text="o3"的值,即在下拉时我们可以看到的文本
示例2:想查看一个's1Id'所有的选项
s1 = Select(driver.find_element_by_id('s1Id'))
for select in s1.options:
print(select.text) 示例3:查看我已选中的所有选项,'s2Id'可以多选的选择框
s4 = Select(driver.find_element_by_id('s2Id'))
s4.select_by_index(1)# 根据顺序选择第2个
s4.select_by_value("o2val")# 根据value属性选择o2val
s4.select_by_visible_text("With spaces")# 根据展示文本选择With spaces
s4.select_by_visible_text(u" With nbsp") # 注意空格,只有为 是才用空格
for select in s4.all_selected_options:# 循环获取所有的值
print(select.text) 注意:只有只有为 的空格才是空格,在html中代码只有 才代表空格,代码中的空格不是空格。
示例4:查看选择框的默认值或选中的值
s1 = Select(driver.find_element_by_id('s1Id'))
print(s1.first_selected_option.text)# 查看选择默认值
s1.select_by_value("o2")
print (s2.first_selected_option.text)# 查看选中的值 示例5:取消选择
s4 = Select(driver.find_element_by_id('s2Id'))
s4.select_by_index(1)
s4.select_by_value("o2val")
s4.select_by_visible_text("With spaces")
s4.select_by_visible_text(u" With nbsp")
s4.deselect_by_index(1)# 根据值顺序取消选择
s4.deselect_by_value("o2val")# 根据value属性取消选择
s4.deselect_by_visible_text("With spaces")# 根据文本取消选择
s4.select_by_value("o2val")
s4.select_by_index(1)
s4.deselect_all()# 取消全部选择
:victory:
页:
[1]