总结
- 1.select 提供了三种选择方法
select_by_index(index)——通过选项的顺序,第一个为0
select_by_value(value)——通过value属性
select_by_visible_text(text)——通过选项可见文本
- 2.select提供四种方法取消选择
deselect_by_index(index)
deselect_by_value(value)
deselect_by_visable_text(text)
deselect_all()
- 3.select提供三个属性方法
options——提供所有的选项的列表,其中都是选项的WebElement元素
all_selected_options——提供所有被选中的选项的列表,其中也均为选项的WebElement元素
frist_selected_option——提供第一个被选中的选项,也是下拉框的默认值
例如
Example
<select id="s1Id">
<option></option>
<option value="o1" id="id1">o1</option>
<option value="o2" id="id2">o2</option>
<option value="o3" id="id3">o3</option>
</select>
from selenium import webdriverd
from selenium.webdriver.support.ui import Select
driver = webdriver.Firefox()
driver.get('http://sahitest.com/demo/selectTest.htm')
s1 = Select(driver.find_element_by_id('s1Id')) # 实例化Select
s1.select_by_index(1) # 选择第二项选项:o1
s1.select_by_value("o2") # 选择value="o2"的项
s1.select_by_visible_text("o3") # 选择text="o3"的值,即在下拉时我们可以看到的文本
driver.quit()
for select in s1.options:
print select.text
封装
def select_by_index(self, selector, index_num):
"""
下拉框,通过index 来选择
"""
e1 = self.get_element(selector)
Select(e1).select_by_index(index_num)
def select_by_value(self, selector, value_info):
"""
下拉框,通过value 来选择
"""
e1 = self.get_element(selector)
Select(e1).select_by_value(value_info)
def get_select_value(self, selector):
"""
# 获取下拉列表的选项内容所有的
"""
value_list = []
s1 = self.get_element(locator['s1'])
for option in Select(s1).options:
value_s = option.text
value_list.append(value_s)
return value_list