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()