selenium中的元素操作之下拉列表操作(四)


下拉列表操作中分為兩種:select、非select

1、非select的下拉框操作

非select下拉列表操作與網頁元素操作一致,找到元素,定位元素,設置等待,點擊元素等等

接下來操作百度的設置按鈕,設置屬於一個下拉框

 

 

舉個栗子:

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 創建一個Chrome對象
driver = webdriver.Chrome()
# 訪問百度
driver.get('http://baidu.com')
# 非select下拉框操作
# 找到百度首頁的設置按鈕
driver.find_element_by_xpath('//div[@id="u1"]//a[@class="pf"]').click()
# 等待下拉框的出現
loc = (By.XPATH, '//a[text()="高級搜索"]')
WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc))
driver.find_element_by_xpath('//a[text()="高級搜索"]').click()

# 退出瀏覽器
driver.quit()

 2、select下拉框操作:

接下來演示select下拉框操作;繼續使用百度設置-高級搜索頁面來演示,繼續接上邊代碼繼續寫

selenium中有一個select類,用來操作select下拉列表

舉個栗子:操作下圖標紅的下拉框

 

 

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
import time


# 創建一個Chrome對象
driver = webdriver.Chrome()
# 訪問百度
driver.get('http://baidu.com')
# 非select下拉框操作
# 找到百度首頁的設置按鈕
driver.find_element_by_xpath('//div[@id="u1"]//a[@class="pf"]').click()
# 等待下拉框的出現
loc = (By.XPATH, '//a[text()="高級搜索"]')
WebDriverWait(driver, 10).until(EC.visibility_of_element_located(loc))
driver.find_element_by_xpath('//a[text()="高級搜索"]').click()

# 設置等待,等待select下拉框出現
select_loc = (By.XPATH, '//select[@name="ft"]')
WebDriverWait(driver, 10).until(EC.visibility_of_element_located(select_loc))
ele = driver.find_element(*select_loc)

s = Select(ele)
# 以下標的方法定位下拉框中的元素
s.select_by_index(3)
time.sleep(2)
# 以value屬性的方式定位下拉框的元素
s.select_by_value('pdf')
time.sleep(2)
# 以文本的方式定位下拉框元素
s.select_by_visible_text('所有格式')
time.sleep(2)

# 退出瀏覽器
driver.quit()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM