selenium 常见操作,下拉列表操作
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)")
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步