下拉框的主要是调用Select类,下面是使用步骤:
- 导包 Select类 --> from selenium.webdriver.support.select import Select
- 实例化Select类 select=Select(WebElemet)
(WebElement):driver.find_element_by_css_selector(’#nr’) - 调用方法:select.select_by_index(index)
(index:为列表索引,从0开始)
关于select的方法有以下三种
- select_by_index() --> 根据option索引来定位,从0开始
- select_by_value() --> 根据option属性 value值来定位
- select_by_visible_text() --> 根据option显示文本来定位
下面是定位百度搜索设置的下拉框实例:
from selenium import webdriver
import time
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
url = "http://www.baidu.com"
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(url)
# 将鼠标定位到设置的位置
element = driver.find_element_by_xpath('//*[@id="u1"]/a[8]')
ActionChains(driver).move_to_element(element).perform()
time.sleep(3)
# 点击设置中的搜索设置按钮
driver.find_element_by_link_text('搜索设置').click()
# 定位下拉框元素
nr = driver.find_element_by_css_selector('#nr')
# 实例化
select = Select(nr)
# 使用index来定位
# select.select_by_index(2)
# 使用value来定位
# select.select_by_value('20')
# 使用文本来定位
select.select_by_visible_text("每页显示50条")
time.sleep(3)
driver.quit()