web自动化系列-selenium的下拉框定位(十三)

发布于:2024-04-27 ⋅ 阅读:(30) ⋅ 点赞:(0)

在功能操作过程中 ,遇到下拉列表是很正常的事 ,比如像一些查询条件就都是使用的是下来列表 。所以 ,selenium也需要支持对下拉框的操作 。

1.下拉列表

在selenium中,也提供了一个下拉列表操作的类 :Select . 以下为该类的介绍。

# 下拉列表
"""
具体步骤:
1. 导包 : from selenium.webdriver.support.select import Select
2. 创建对象 : select = Select(elem)		# 下拉列表的元素
3. 调用以下的方法


支持的方法 :
1. 可以通过索引定位 :select_by_index(index) : 根据option索引来定位 ,位置从0开始
2. 可以通过值来定位:select_by_value(value) : 根据option属性值来定位 ,value就是属性对应的值
3. 可以通过文本值来定位 :select_by_visible_text(text) : 根据option内容定位    
"""

2.具体案例

接下来通过自己实现的一个下拉列表页面来进行演示 ,页面中只有一个下拉列表。

编写一段代码进行下拉列表的操作 。  

from selenium import webdriver
import time
from selenium.webdriver.support.select import Select


driver = webdriver.Chrome()
driver.get(r"E:\drop_down.html")

time.sleep(1)

# 获取下拉列表的对象
elem = driver.find_element_by_name("辛弃疾")

# 将对象传入Select类中
select = Select(elem)

# 通过select_by_index定位 :索引定位
select.select_by_index(1)       # 获取下拉列表中的第2个值
time.sleep(3)

# 通过select_by_value定位 :value值定位
select.select_by_value('06')		# 获取下拉列表中的06对应的值
time.sleep(3)

# 通过select_by_visible_text定位 :文本定位
select.select_by_visible_text("八百里分麾下炙,五十弦翻塞外声。沙场秋点兵。")		# 获取下拉列表该文本值的定位
time.sleep(3)

driver.quit()

3. 项目应用