1. 使用Webdriver提供的Select類(lèi)的方法:?
1)導(dǎo)入依賴(lài)
# 兩種方法任選其一,都是指向同一個(gè)文件
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.select import Select
Select三種定位方法,選擇框中的其一
# select_by_value(value)
# select_by_index(index)
# select_by_visible_text(text)
比如選擇籃球運(yùn)動(dòng)員選項(xiàng):
# 實(shí)例化一個(gè)Select類(lèi)的對(duì)象selector = Select(driver.find_element_by_id("selectdemo"))
# 下面三種方法用于選擇"籃球運(yùn)動(dòng)員
1、selector.select_by_index("2")# 通過(guò)index進(jìn)行選擇,index從0開(kāi)始
2、selector.select_by_value("210103")# 通過(guò)value屬性值進(jìn)行選擇
3、selector.select_by_visible_text("籃球運(yùn)動(dòng)員")# 通過(guò)標(biāo)簽顯示的text進(jìn)行選擇
主要使用select_by_index()的時(shí)候,如果option中有index屬性,會(huì)優(yōu)先通過(guò)index屬性選擇?
3)Select類(lèi)還提供了一些用于取消選中的方法
1、deselect_all()# 取消全選
2、deselect_by_value(value)# 通過(guò)value屬性取消選擇
3、deselect_by_index(index)# 通過(guò)index取消選擇
4、deselect_by_visible_text(text)# 通過(guò)text取消選擇
2. 先定位select 然后在定位option
# 定位到下拉選擇框selector = driver.find_element_by_id("selectdemo")
# selector = driver.find_element_by_xpath(".//*[@id='selectdemo']")
# 選擇"籃球運(yùn)動(dòng)員"selector.find_element_by_xpath("http://option[@value='210103']").click()
# selector.find_elements_by_tag_name("option")[2].click()
3. 直接通過(guò)xpath層級(jí)標(biāo)簽定位
# 直接通過(guò)xpath定位并選擇"籃球運(yùn)動(dòng)員"driver.find_element_by_xpath(".//*[@id='selectdemo']/option[3]").click(
這是三種處理下拉選擇框的思路,其他的就是定位元素的方法了。