selenium之定位下拉框(Select)

1. 定位<select>類型下拉框

select類型下拉框如圖


select下拉框
from selenium.webdriver.support.ui import Select
# 通過index進(jìn)行選擇
Select(driver.find_element_by_name("form:j_idt163")).select_by_index(1) 
# 通過value進(jìn)行選擇
Select(driver.find_element_by_name("form:j_idt163")).select_by_value("中風(fēng)險(xiǎn)")
# 通過選項(xiàng)文字進(jìn)行選擇
Select(driver.find_element_by_name("form:j_idt163")).select_by_visible_text("低風(fēng)險(xiǎn)")

獲取下拉框的value值和文本內(nèi)容

#選擇下啦框
select = driver.find_element_by_name("form:j_idt163")

# 獲取select里面的option標(biāo)簽,注意使用find_elements
options_list = select.find_elements_by_tag_name('option')

# 遍歷option
for option in options_list:
    #獲取下拉框的value和text
    print ("Value is:%s  Text is:%s" %(option.get_attribute("value"),option.text))

注:Select只對(duì)<select>標(biāo)簽的下拉菜單有效

2. 定位非<select>標(biāo)簽的下拉菜單

定位非<select>標(biāo)簽的下拉菜單中的選項(xiàng),需要兩個(gè)步驟,先定位到下拉菜單,再對(duì)其中的選項(xiàng)進(jìn)行定位。
如下圖


非<select>下拉框
# 先定位到下拉菜單
ul = driver.find_element_by_css_selector("div#select2_container > ul")
# 再對(duì)下拉菜單中的選項(xiàng)進(jìn)行選擇
ul.find_element_by_id("li2_input_2").click()

3. 輸入檢索式選擇框

定位這種類型的選擇框分三個(gè)步驟,先定位輸入框輸入關(guān)鍵字,然后定位檢索出來的選擇列表框,最后定位相應(yīng)的值。
如下圖


檢索式選擇框

元素
# 先定位輸入框輸入關(guān)鍵字
driver.find_element_by_id('id').send_keys('ab')
# 然后定位ul
ul = driver.find_element_by_css_selector(".ui-autocomplete-items")
# 最后定位里面所有值
li = ul.find_elements_by_tag_name('li')
# 選取想要的值
li[0].click() # 0代表選擇第一個(gè)值
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容