Select操作
在 Selenium 中,Select 类用于处理 HTML 中的下拉框(<select> 元素)。下拉框在表单中非常常见,例如选择省份、城市、日期等场景。通过 Select 类,可以方便地根据选项的索引、value 属性或可见文本来选择对应的选项,从而完成自动化测试中的表单填写操作。
使用 Select 类前,需要先导入对应的模块,导入方式如下:
from selenium.webdriver.support.ui import Select
创建 Select 对象时,需要传入定位到的下拉框元素,示例代码如下:
select = Select(driver.find_element_by_id("city"))
Select 类提供了多种选择选项的方法,常用的方法如下:
| select_by_value(value) | 根据选项的 value 属性值进行选择 |
| select_by_index(index) | 根据选项的索引进行选择,索引从 0 开始 |
| select_by_visible_text(text) | 根据选项的可见文本进行选择 |
| deselect_all() | 取消所有已选中的选项,仅适用于多选下拉框 |
要注意的是,select_by_index 的索引从 0 开始,即第一个选项的索引为 0;select_by_value 需要传入选项的 value 属性值;select_by_visible_text 需要传入下拉框中显示的文本内容。在实际使用中,可以根据页面结构选择最合适的方法。
Options方法
对返回选项options信息也提供了三种常用的方法
| options | 返回下拉框中的所有选项 |
| all_selected_options | 返回下拉框中已选中的选项 |
| first_selected_option | 返回第一个被选中的选项 |
实操案例
from selenium import webdriver
from selenium.webdriver.edge.service import Service
from selenium.webdriver.common.by import By
#导入Select类
from selenium.webdriver.support.ui import Select
path = Service('D:\\\\软件\\\\edgedriver_win64\\\\msedgedriver.exe')
driver = webdriver.Edge(service=path)
driver.get("https://seleniumbase.io/demo_page")
#定位到select元素并包装
select_element = driver.find_element(By.ID,"mySelect")
select = Select(select_element)
#index索引是从零开始的,表示选择下拉列表的第加一个选项
#如以下实例,意为选第一个选项
select.select_by_index(0)
print("当前选中:",select.first_selected_option.text)
#选择value值为50%的选项
select.select_by_value("50%")
print("当前选中:",select.first_selected_option.text)
#选择文本为Set to 75%的选项
select.select_by_visible_text("Set to 75%")
print("当前选中:",select.first_selected_option.text)
网硕互联帮助中心



评论前必须登录!
注册