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彈出框"確認"

 


免責聲明!

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



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