1. 定位<select>類型下拉框
select類型下拉框如圖
select下拉框
from selenium.webdriver.support.ui import Select
# 通過index進行選擇
Select(driver.find_element_by_name("form:j_idt163")).select_by_index(1)
# 通過value進行選擇
Select(driver.find_element_by_name("form:j_idt163")).select_by_value("中風(fēng)險")
# 通過選項文字進行選擇
Select(driver.find_element_by_name("form:j_idt163")).select_by_visible_text("低風(fēng)險")
獲取下拉框的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只對<select>標(biāo)簽的下拉菜單有效
2. 定位非<select>標(biāo)簽的下拉菜單
定位非<select>標(biāo)簽的下拉菜單中的選項方咆,需要兩個步驟圈膏,先定位到下拉菜單索烹,再對其中的選項進行定位蛇尚。
如下圖
非<select>下拉框
# 先定位到下拉菜單
ul = driver.find_element_by_css_selector("div#select2_container > ul")
# 再對下拉菜單中的選項進行選擇
ul.find_element_by_id("li2_input_2").click()
3. 輸入檢索式選擇框
定位這種類型的選擇框分三個步驟肋层,先定位輸入框輸入關(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代表選擇第一個值