下拉框處理
web頁面上經常會有下拉框,對下拉框的處理比較簡單,一般分為兩種情況:
一、下拉框通過元素定位識別
driver.find_element(By.XPATH,'//option[@value="peach"]').click()
二、創建一個select的對象,然后通過相應方法處理
先導入Select包: from selenium.webdriver.support.select import Select
element_obj = driver.find_element(By.XPATH,'//select[@id="Selector"]')
select_obj = Select(element_obj)
select_obj.select_by_value(value屬性的值) # 利用value選擇選項
select_obj.select_by_visible_text(文本內容) # 利用可見的文本內容選擇選項
select_obj.select_by_index(5) # 利用下標選擇選項,下標從0開始
代碼如下:
import os import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.select import Select # 導入Select包 current_path = os.path.dirname(os.path.abspath(__file__)) # 當前路徑 driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路徑 pages_path = os.path.join(current_path,'../pages/element_samples.html') # 本地網頁路徑 driver = webdriver.Chrome(executable_path=driver_path) # Firefox,Ie等 driver.get('file://%s'%pages_path) # 本地網頁打開file:// 打開部署好的站點http:// # 直接識別下拉框選項並點擊(select) driver.find_element(By.XPATH,'//option[@value="peach"]').click() # 先識別下拉框元素,把元素轉換成Select對象,然后利用Select對象的方法去識別 element_obj = driver.find_element(By.XPATH,'//select[@id="Selector"]') select_obj = Select(element_obj) select_obj.select_by_value("banana") # 利用value選擇選項 time.sleep(2) select_obj.select_by_visible_text('桔子') # 利用可見的文本內容選擇選項 time.sleep(2) select_obj.select_by_index(5) # 利用下標選擇選項,下標從0開始