首页 > 其他分享 >16.Selenium【下拉框操作】模拟操作下拉框

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

时间:2023-01-17 10:00:22浏览次数:63  
标签:16 标签 Selenium value 选择 文本 下拉框 select

一、前言

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

注:通过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,value,选择,文本,下拉框,select
From: https://www.cnblogs.com/ckxingchen/p/17057052.html

相关文章

  • 17.Selenium【单/复选框】单选框(Radio)复选框(CheckBox)
    一、前言单选框叫radio复选框叫checkbox区别就是单选框的选项是互斥的,也就是说你只能选一个选项类似于单选题。同理复选框类似多选题想怎么选就怎么选。一般情况下这......
  • 9.Selenium【元素的定位】部分链接文本定位
    一、前言有时候我们可以使用链接文本进行定位,因为是文本,一般是说明性的文字,所以会存在文本太长的情况,其实我们也可以通过部分文本匹配元素。二、学习目标1.通过部分链接......
  • 10.Selenium【元素的定位】css选择器定位
    一、前言了解前端的同学应该知道,css是一种语言,它用来描述THML和XML的元素显示样式,在css语言中有css选择器,在Selenium中也可以使用这种选择器来定位元素。二、学习目标1.......
  • 11.Selenium【元素的定位】xpath表达式定位
    一、前言我们上节课讲了css选择器定位元素,其实他和xpath定位类似,只是写法有所区别。selenium定位元素的方法有很多种,像是通过id、name、class_name、tag_name、link_text......
  • 12.Selenium【元素操作】模拟操作页面元素
    一、前言前面的课程我们已经学习了定位元素的八大方法,其实在实际工作中只需掌握xpath定位即可满足工作需求。定位元素后,我们得到一个元素对象,从这节课开始我们开始针对这......
  • 13.Selenium【鼠标和键盘操作】模拟鼠标操作页面元素(了解)
    一、前言actionchains是selenium里面专门处理鼠标和键盘相关的操作如:鼠标移动,鼠标按钮操作,按键和上下文菜单(鼠标右键)交互。这对于做更复杂的动作非常有用,比如悬停和拖放。......
  • 4.Selenium【元素的定位】id属性定位
    一、前言前面的小节中我们学习了如何针对页面进行自动化操作,从这节课开始,我们学习如何操作页面中的元素(按钮,输入框等)。如果有操作一个元素,必须分为两步:(1)定位元素信息,返回......
  • 5.Selenium【元素的定位】name属性定位
    一、前言上节课介绍了如何通过标签的id属性来定位,同样,如果标签中有name属性,我们也可以通过name属性来定位元素。二、学习目标1.通过name属性定位元素三、知识点1.【通......
  • 6.Selenium【元素的定位】class属性定位
    一、前言除了id和name以外,class通常也会存在于标签属性中,我们同样可以通过标签的class属性来定位元素。但是要注意的是,class属性的值一般在页面中不是唯一的,我们如果要定......
  • 7.Selenium【元素的定位】标签名定位
    一、前言与class属性一样,标签名同样不是唯一的,我们在使用标签名定位时,前提是已经知道当前页面中只有这一个该名字的标签,不能用重名的。二、学习目标1.通过标签名定位元......