1. 使用Webdriver提供的Select类的方法:
1)导入依赖
# 两种方法任选其一,都是指向同一个文件
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)
比如选择篮球运动员选项:
# 实例化一个Select类的对象selector = Select(driver.find_element_by_id("selectdemo"))
# 下面三种方法用于选择"篮球运动员
1、selector.select_by_index("2")# 通过index进行选择,index从0开始
2、selector.select_by_value("210103")# 通过value属性值进行选择
3、selector.select_by_visible_text("篮球运动员")# 通过标签显示的text进行选择
主要使用select_by_index()的时候,如果option中有index属性,会优先通过index属性选择
3)Select类还提供了一些用于取消选中的方法
1、deselect_all()# 取消全选
2、deselect_by_value(value)# 通过value属性取消选择
3、deselect_by_index(index)# 通过index取消选择
4、deselect_by_visible_text(text)# 通过text取消选择
2. 先定位select 然后在定位option
# 定位到下拉选择框selector = driver.find_element_by_id("selectdemo")
# selector = driver.find_element_by_xpath(".//*[@id='selectdemo']")
# 选择"篮球运动员"selector.find_element_by_xpath("//option[@value='210103']").click()
# selector.find_elements_by_tag_name("option")[2].click()
3. 直接通过xpath层级标签定位
# 直接通过xpath定位并选择"篮球运动员"driver.find_element_by_xpath(".//*[@id='selectdemo']/option[3]").click(
这是三种处理下拉选择框的思路,其他的就是定位元素的方法了。