您的位置:首页 > 房产 > 建筑 > selenium自动化测试入门:下拉框元素定位

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

2025/2/26 20:26:07 来源:https://blog.csdn.net/huace3740/article/details/139474544  浏览:    关键词: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">&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()  # 取消全部选择

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看。

字节大佬,一周讲完,自动化测试项目实战,这套教程是怎么称霸B站的?【2024最新版】

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com