(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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM