赞
踩
在功能操作过程中 ,遇到下拉列表是很正常的事 ,比如像一些查询条件就都是使用的是下来列表 。所以 ,selenium也需要支持对下拉框的操作 。
在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内容定位
- """
接下来通过自己实现的一个下拉列表页面来进行演示 ,页面中只有一个下拉列表。
编写一段代码进行下拉列表的操作 。
- 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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。