selenium----select下拉框

  在做UI测试时经常会遇到下拉框,此时有两种方法处理:1.两次点击;2.使用select(下拉框处理模块)

引入路径:
  from selenium.webdriver.support.select import Select

select相关操作
首先定位到下拉框,再通过select定位下拉选项
s = driver.find_element_by_id('***')

通过select选项的索引来定位选择对应选项(从0开始计数)
Select(s).select_by_index(5)

通过选项的value属性来定位
Select(s).select_by_value('2')

通过选项的文本内容来定位
Select(s).select_by_visible_text('牡丹江')

返回一个选中的optionElement对象
Select(s).first_selected_option

返回所有选中的optionElement对象
Select(s).all_selected_options

取消所有选中的option
Select(s).deselect_all()

通过option的index来取消对应的option
Select(s).deselect_by_index(1)

通过value属性,来取消对应的option
Select(s).deselect_by_value('3')

通过option的文本内容,取消对应的option
Select(s).deselect_by_visible_text('3')

一、首先要引入ActionChains模块 

from selenium.webdriver.common.action_chains import ActionChains

二、先定位到顶级菜单,执行鼠标操作通过move_to_element将鼠标移到顶级菜单,再定位下拉菜单并点击
下面以百度首页为例子来说明:

打开百度--设置--搜索设置(鼠标悬浮菜单定位)--单选框定位--单选框定位--select下拉菜单定位--select下拉菜单定位--单选框定位--alert弹出框定位

from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains#引入函数模块
from selenium.webdriver.support.select import Select#引入函数模块
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com")#打开百度首页
sz = driver.find_element_by_link_text('设置')#先定位到顶级菜单
ActionChains(driver).move_to_element(sz).perform()#再将鼠标移动到顶级菜单:设置上面
driver.find_element_by_link_text('搜索设置').click()#最后定位下拉菜单元素并点击
time.sleep(3)
driver.find_element_by_id("s1_2").click()#单选框:搜索框提示 定位
driver.find_element_by_id('SL_1').click()#单选框:搜索语言范围 定位
Select(driver.find_element_by_id('nr')).select_by_value("20")#select下拉菜单定位,先定位到下拉框nr,再通过value定位下拉选项
Select(driver.find_element_by_id('issw1')).select_by_value('2')#select下拉菜单单定位
driver.find_element_by_id('sh_1').click()
driver.find_element_by_link_text('保存设置').click()
driver.switch_to.alert.accept()#alert弹出框"确认"

 

转载于:https://www.cnblogs.com/yttbk/p/10998228.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值