selenium基础(下拉菜单操作)
非select/option元素:
1.触发下拉列表出现
2.等待下拉列表中的元素出现,然后进行选择元素即可。
select/option元素:
下拉框操作-Select类
selenium提供Select类来处理select/option
1.引入
from selenium.webdriver.support.ui import Select
2.创建Select对象,传入元素
ele = driver.find_element_by_xpath(元素定位表达式)
s = Select(ele)
3.选择下拉列表值:
s.select_by_value(value值) #通过value
s.select_by_index(index) #通过下标
s.select_by_visible_text(文本') #通过文本
例:百度设置-高级搜索-下拉框
from selenium import webdriver from selenium.webdriver.support.ui import Select#select类,下拉菜单使用 from selenium.webdriver.support.wait import WebDriverWait#等待时间包,在限定时间内查找元素 from selenium.webdriver.common.action_chains import ActionChains#鼠标操作包 from selenium.webdriver.common.keys import Keys#键盘操作包 import time#时间包 import unittest#单元测试包 driver=webdriver.Firefox() driver.get('https://www.baidu.com') above=driver.find_element_by_link_text('设置')#找到“设置”按钮 ActionChains(driver).move_to_element(above).perform()#将鼠标放置到“设置”按钮上 WebDriverWait(driver,10).until(lambda a:a.find_element_by_link_text('高级搜索'))#10秒钟之内找到元素 driver.find_element_by_link_text('高级搜索').click() time.sleep(3) #找到下拉框并找到要选择的元素 Select(driver.find_element_by_name('ft')).select_by_value('pdf')#通过value进行定位 time.sleep(3) ele=driver.find_element_by_name('ft') s=Select(ele) s.select_by_index(6)#通过下标进行定位 time.sleep(3) s.select_by_visible_text('微软 Word (.doc)')#通过文本内容进行查找 time.sleep(2) driver.quit()