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值。