5 下拉框

有时我们手动测试的时候会碰到下拉框,WebDriver提供了Select类来处理下拉框。

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

url = 'http://www.baidu.com'

driver = webdriver.Firefox()
driver.get(url)

# 定位搜索按钮
el_so = driver.find_element_by_css_selector('a.pf:nth-child(8)')
el_so.click()

# 定位搜索设置按钮,并点击
el_set = driver.find_element_by_css_selector('.setpref')
el_set.click()

# 定位下拉框对象
sel = driver.find_element_by_id('nr')

# 构建选择对象
selobj = Select(sel)
# print(selobj)
# print(dir(selobj))


# 显示所有已经选择的选项
print (selobj.all_selected_options)
# 显示第一个已经选择的选项
print (selobj.first_selected_option)
# 显示所有选项
print (selobj.options)


# 使用索引选择
selobj.select_by_index(0)
time.sleep(5)
selobj.select_by_index(1)
time.sleep(5)
selobj.select_by_index(2)

# 通过值进行选择
selobj.select_by_value("20")
time.sleep(2)
selobj.select_by_value("50")

# 通过可见文本
selobj.select_by_visible_text('每页显示50条')
time.sleep(2)
selobj.select_by_visible_text('每页显示20条')

time.sleep(5)

driver.close()
Select类用于定位select标签。 select_by_value() 方法用于定位下接选项中的value值。