selenium自动化测试入门 —— 下拉框元素定位

1350 篇文章 11 订阅
631 篇文章 9 订阅

选择获取反选下拉框元素首先要实例化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">&nbsp;&nbsp;&nbsp;&nbsp;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()  # 取消全部选择

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值