Select提供了三种选择方法:
select_by_index(index) --通过选项的顺序,第一个为0
select_by_value(value) --通过value属性
select_by_visible_text(text) --通过选项可见文本
Select还提供了四种取消选择:【对于多选采用】
deselect_by_index(index)
deselect_by_value(value)
deselect_by_visible_text(text)
deselect_all()
Select提供了三个属性方法:
option --提供所有的选项的列表,其中都是选项的Webelement元素
all_selected_options --提供所有被选中的选项列表其中也均为选项的WebElement元素
first_selected_option --提供第一被选中的选项,也是下拉的默认值
网页测试代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>处理下拉框</title>
</head>
<body>
<td align="center">下拉框demo</td>
<br />
<select id="selectdemo" class="select" name="selectdemo">
<option name="jiaolian" value="210101" selected="selected">教练人员</option>
<option name="pingpang" value="210102">乒乓球球员</option>
<option name="lanqiu" value="210103 ">篮球运动员</option>
<option name="zuqiu" value="210103 ">足球运动员</option>
<option name="youyong" value="210402">游泳运动员</option>
<option name="tiaoshui" value="210403">跳水运动员</option>
</select>
</body>
</html>
Selenium代码
# -*- coding:utf-8 -*-
from time import sleep
from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome('F:\PyCharmProject\TestFramework\drivers\chromedriver.exe')
driver.get('file:///C:/Users/Uker/Desktop/seleniumHTML/menuitem.html')
sleep(1)
'''方式一、可以定位<select>标签的下拉菜单,也可定位非<select>标签下拉菜单'''
'''
1.先定位到下拉框的元素
2.选择下拉框列表中的元素
'''
# 定位到下拉选择框
sel = driver.find_element_by_id('selectdemo')
# 定位到篮球运动员
sel.find_element_by_xpath('//*[@id="selectdemo"]/option[3]').click()
sleep(1)
'''方式二、用Select定位(Select只对<select>标签的下拉菜单有效)'''
# 实例化一个Select类的对象
selector = Select(driver.find_element_by_id('selectdemo'))
# 下面三种方法选择游泳运动员
selector.select_by_index('4')
# selector.select_by_value('210402')
# selector.select_by_visible_text('游泳运动员')
sleep(1)
driver.quit()