16.Selenium下拉框操作模拟操作下拉框

Posted 测开星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16.Selenium下拉框操作模拟操作下拉框相关的知识,希望对你有一定的参考价值。

一、前言

前端页面中,还有一种我们经常碰到的元素,他就是下拉框。这种元素我们其实有一种简单放法进行操作,先点击一下下拉框弹窗下拉列表,然后再点击选项。这种方法是使用两个点击动作达到选择下拉列表选项的目的。那有没有简单方法只需一步就能选择下拉项呢?这节课将解决这个疑问。

注:通过Select提供的方法和属性,我们可以对标准select下拉框进行任何操作,但是对于非select标签的伪下拉框,需要使用XPath定位。

二、学习目标

1.选择项选择

2.选择项取消选择

3.获取选择信息

三、知识点

地址示例:http://sahitest.com/demo/selectTest.htm

1.【选择项选择】

  • 按索引值选择

    #1.实例化select
    s = Select(driver.find_element_by_id("s1Id"))
    #2.按索引值选择
    s.select_by_index(1) #0,1,2,3...
    
  • 按value属性选择

    #1.实例化select
    s = Select(driver.find_element_by_id("s1Id"))
    #2.按value属性选择
    s.select_by_value(\'o2\') #传value的值
    
  • 按标签文本选择

    #1.实例化select
    s = Select(driver.find_element_by_id("s1Id"))
    #2.按标签文本值
    s.select_by_visible_text(\'o3\') #传标签文本值
    

2.【选择项反选】

注意:有一种特殊的select标签,即设置了multiple="multiple"属性的select,这种select框是可以多选的,取消操作只适用于添加了multiple的下拉框(可以多选),否则会报错

  • 按索引值取消选择

    #1.实例化select
    s = Select(driver.find_element_by_id("s4Id"))
    #2.按索引值选择
    s.select_by_index(1) #按索引值
    time.sleep(2)
    #3.按索引值取消选择
    s.deselect_by_index(1) #传标签文本值
    
  • 按value属性取消选择

    #1.实例化select
    s = Select(driver.find_element_by_id("s4Id"))
    #2.按value属性选择
    s.select_by_value(\'o2val\') #按value属性
    time.sleep(2)
    #3.按value属性取消选择
    s.deselect_by_value(\'o2val\') #按value属性
    
  • 按标签文本取消选择

    #1.实例化select
    s = Select(driver.find_element_by_id("s4Id"))
    #2.按标签文本选择
    s.select_by_visible_text(\'o3\') #按标签文本
    time.sleep(2)
    #3.按标签文本取消选择
    s.deselect_by_visible_text(\'o3\') #按标签文本
    
  • 全部取消选择

    #1.实例化select
    s = Select(driver.find_element_by_id("s4Id"))
    #2.按标签文本选择
    s.select_by_index(1) #按索引值
    s.select_by_value(\'o2val\') #按value属性
    s.select_by_visible_text(\'o3\') #按标签文本
    time.sleep(2)
    #3.按标签文本取消选择
    s.deselect_all() #全部取消
    

3.【获取选择信息】

我们还可以获取select标签对象的三个属性(注:不是方法):

#1.实例化select
s = Select(driver.find_element_by_id("s4Id"))
#2.按标签文本选择
s.select_by_index(1) #按索引值
s.select_by_value(\'o2val\') #按value属性
s.select_by_visible_text(\'o3\') #按标签文本
time.sleep(2)
#3.三个属性
s1 = s.options                  #提供所有的选项的列表,其中都是选项的WebElement元素
s2 = s.all_selected_options     #提供所有被选中的选项的列表,其中也均为选项的WebElement元素
s3 = s.first_selected_option    #提供第一个被选中的选项,也是下拉框的默认值
print(s1)
print(s2)
print(s3)

以上是关于16.Selenium下拉框操作模拟操作下拉框的主要内容,如果未能解决你的问题,请参考以下文章

selenium常用操作之下拉框操作

selenium 怎么操作下拉框

selenium 下拉框选项操作

Jquery制作--美化下拉框

6 下拉选择框警告框滚动条操作

jquery 操作下拉框 选中某项 怎么写?