Selenium中下拉框处理(Select模块)

本文介绍Selenium中Select模块的使用方法,包括通过索引、value属性和文本内容定位下拉框选项,以及如何取消选择。同时给出了具体的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Selenium中下拉框处理(Select模块)

导入select模块
from selenium.webdriver.support.select import Select

webdriver提供了一个Select模块来专门对下拉框进行处理,使用时需要导入Select模块

其中有三种定位选项的方法:

  • select_by_index():索引定位(从0开始)
  • select_by_value():value属性定位
  • select_by_visible_text():选项的文本属性
  • visible_text是在option标签中间的值,是显示在下拉框的值
Select操作
# 通过select选项的索引来定位选择对应选项(从0开始计数)
Select(s).select_by_index(5)
# 通过选项的value属性值来定位
Select(s).select_by_value('2') 
# 通过选项的文本内容来定位
Select(s).select_by_visible_text('牡丹江')
# 返回第一个选中的optionElement对象
Select(s).first_selected_option
# 返回所有选中的optionElement对象
Select(s).all_selected_options 
# 取消所有选中的option
Select(s).deselect_all()
# 通过option的index来取消对应的option
Select(s).deselect_by_index(1) 
# 通过value属性,来取消对应option
Select(s).deselect_by_value('')
# 通过option的文本内容,取消对应的option
Select(s).deselect_by_visible_text('')
先定位到下拉框,再定位其中的选项
# coding = utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# 启动浏览器
driver = webdriver.Chrome()
# 打开百度首页
driver.implicitly_wait(10)
driver.get(r'https://www.baidu.com/')
# 移动鼠标到设置上,再点击搜索设置
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
driver.find_element_by_link_text("搜索设置").click()
# 定位下拉框,选择其中的选项
sel = driver.find_element_by_css_selector("select#nr")
sel.find_element_by_css_selector("option[value='20']").click()
# 退出
sleep(5)
driver.quit()
直接定位到下拉框中的选项
# coding = utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# 启动浏览器
driver = webdriver.Chrome()
# 打开百度首页
driver.implicitly_wait(10)
driver.get(r'https://www.baidu.com/')
# 移动鼠标到设置上,再点击搜索设置
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
driver.find_element_by_link_text("搜索设置").click()
# 直接定位到选项
driver.find_element_by_css_selector("select#nr>option:nth-child(2)").click()
# 退出
sleep(5)
driver.quit()
反选(deselect)

Select提供了四个方法给我们取消原来的选择:

deselect_by_index(index)
deselect_by_value(value)
deselect_by_visible_text(text)
deselect_all()

前三种分别于select相对应,第四种是全部取消选择。有一种特殊的select标签,即设置了multiple=”multiple”属性的select,这种select框是可以多选的,你可以通过多次select,选择多项选项,而通过deselect_all()来将他们全部取消。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

patmos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值