1、定位鼠標懸浮才出現得元素。ctrl+shift+c小技巧。
2、下拉列表包括:非 select 元素 和 select 元素兩種
非 select 元素:通過文本值定位元素,建議直接進行點擊操作
下拉列表未顯示屬性值為:display:none
下拉列表顯示屬性值為:display: block
3、select類,下拉框操作 :selenium 提供了select類來處理select /option
引入類:
from selenium.webdriver.support.ui import Select
選擇下拉列表值得方法:
1、通過下標選擇:select_by_index(index) 從0開始;
2、通過value屬性:select_by_value(value值)
3、通過文本內容:select_by_visible_text(文本內容)
from selenium.webdriver.support.ui import Select from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium import webdriver from selenium.webdriver.common.by import By import time #啟動谷歌瀏覽器,開啟與瀏覽器之間的繪話,會話周期:打開瀏覽器到關閉瀏覽器。 driver = webdriver.Chrome(service_log_path='E:\檸檬班二\chromedriver_service.log') #全局等待,隱性等待,如果不加等待,頁面彈窗上可能找不到用戶名密碼這個元素 driver.implicitly_wait(30) #訪問一個網頁 driver.get("https://www.baidu.com") driver.maximize_window() #1、先找到鼠標要操作的元素 ele = driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_settingicon"]') #2、實例化ActionChains類 #ac = ActionChains(driver) #3、將鼠標操作添加到actions列表中 #ac.move_to_element(ele) #4、調用perform來執行鼠標操作 #ac.perform() #讓下拉框顯示出來 ActionChains(driver).move_to_element(ele).perform() #選擇下拉列表當中選擇高級搜索 WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,'//a[text()="高級搜索"]'))) driver.find_element_by_xpath('//a[text()="高級搜索"]').click() #1、select類列表 WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,'//select[@name="ft"]'))) select_ele = driver.find_element_by_xpath('//select[@name="ft"]') #2、實例化select類 s = Select(select_ele) #3、方式一:下標重0開始 s.select_by_index(4) #4、方式二:value值 s.select_by_value("ppt") #5、方式三: s.select_by_visible_text("微軟 Powerpoint (.ppt)")