(selenium+python)_UI自动化05_定位select下拉列表
Posted 测试一枝花
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(selenium+python)_UI自动化05_定位select下拉列表相关的知识,希望对你有一定的参考价值。
前言
web网页大多选择功能使用下拉列表方式实现,在selenium进行自动化过程中,可通过Select类实现下拉列表的多种操作。
Select常用方法
select_by_index() # 通过索引定位-选项 select_by_value() # 通过value值定位-选项 select_by_visible_text() # 通过文本值定位-选项 deselect_all() # 取消所有选项 deselect_by_index() # 取消对应index选项 deselect_by_value() # 取消对应value选项 deselect_by_visible_text() # 取消对应文本选项 options() # 返回下拉列表-所有选项 first_selected_option() # 返回下拉列表-第一个选项 all_selected_options() # 返回下拉列表-选中的选项
备注:
使用时需先导入Select类:from selenium.webdriver.support.select import Select
实例
携程首页-酒店-房间数选择,采用下拉列表形式。模拟携程酒店-房间,勾选房间数如下:
1 # 模拟携程首页-酒店,勾选房间数 2 from selenium.webdriver.support.select import Select 3 from selenium import webdriver 4 from time import sleep 5 6 driver.get("https://www.ctrip.com/?sid=155952&allianceid=4897&ouid=index") # 进入携程首页 7 sleep(3) 8 9 select_ele = driver.find_element_by_id("J_roomCountList") # 定位房间数下拉框 10 select_ele.click() # 点击展开房间数下拉列表 11 sleep(2) 12 Select(select_ele).select_by_index(2) # 选中选项-3间(索引从0开始) 13 # Select(select_ele).select_by_value(3) # 选中选项-3间,value=3 14 # Select(select_ele).select_by_visible_text("3间") # 选中-3间,文本"3间" 15 sleep(3)
获取下拉列表选项:
1 select_ele = driver.find_element_by_id("J_roomCountList") # 定位房间数下拉框 2 select_ele.click() # 点击展开房间数下拉列表 3 4 # 获取所有下拉列表选项 5 for select in Select(select_ele).options: 6 print(select.text) 7 8 # 获取选中的选项 9 for select in Select(select_ele).all_selected_options: 10 print("选中选项:", select.text)
以上是关于(selenium+python)_UI自动化05_定位select下拉列表的主要内容,如果未能解决你的问题,请参考以下文章
(selenium+python)_UI自动化10_cookie常用操作
(selenium+python)_UI自动化03_定位新开窗口内元素
(selenium+python)_UI自动化09_定位alert弹窗
(selenium+python)_UI自动化04_定位iframe框架内元素
UI自动化-05-helium-Selenium WebDriver
Python+Selenium进行UI自动化测试项目中,常用的小技巧3:写入excel表(python,xlsxwriter)