我爱编程

Selenium下拉框处理

2018-03-27  本文已影响0人  shadow雨轩

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(

这是三种处理下拉选择框的思路,其他的就是定位元素的方法了。

上一篇下一篇

猜你喜欢

热点阅读