python selenium 下拉框处理
在自动化测试中,处理下拉框(Dropdown)有以下几种方式:
1. 使用Select类:
from selenium.webdriver.support.ui import Select select_element = driver.find_element_by_id("select_id") select = Select(select_element) select.select_by_visible_text("Option 1")
使用`Select`类可以处理下拉框。首先,使用`find_element_by_id()`等方法找到下拉框元素,然后将其传递给`Select`类的实例化对象。通过`select_by_visible_text()`方法选择可见文本进行选择。
2. 使用点击操作:
dropdown_element = driver.find_element_by_id("dropdown_id") dropdown_element.click() option_element = driver.find_element_by_xpath("//option[text()='Option 1']") option_element.click()
通过点击下拉框和选项元素来选择。首先,使用`find_element_by_id()`等方法找到下拉框元素,然后使用`click()`方法点击下拉框。接着,通过`find_element_by_xpath()`等方法找到要选择的选项元素,再使用`click()`方法点击选项元素。
3. 使用键盘操作:
from selenium.webdriver.common.keys import Keys dropdown_element = driver.find_element_by_id("dropdown_id") dropdown_element.click() dropdown_element.send_keys(Keys.ARROW_DOWN) dropdown_element.send_keys(Keys.RETURN)
通过模拟键盘操作来选择下拉框选项。首先,使用`find_element_by_id()`等方法找到下拉框元素,然后使用`click()`方法点击下拉框。接着,使用`send_keys()`方法模拟键盘操作,如向下箭头键(`Keys.ARROW_DOWN`)移动选项,并使用回车键(`Keys.RETURN`)选择选项。
实例说明
from select import select from time import sleep from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.select import Select 驱动 = webdriver.Chrome() 驱动.get("https://www.hao123.com/?src=from_pc") 驱动.maximize_window() 驱动.implicitly_wait(3) #点击切换按钮 驱动.find_element(By.CSS_SELECTOR,".city-change-btn").click() sleep(3) # 获取省下拉框的元素 select_test01 = 驱动.find_element(By.NAME,"province") sleep(3) #通过编号 Select(select_test01).select_by_value("04") sleep(3) # 获取城市下拉框的元素 select_test02 = 驱动.find_element(By.NAME,"city") sleep(3) #通过文字 Select(select_test02).select_by_visible_text("B 巴南") sleep(3) #获取城市下级元素下拉框的元素 select_test03 = 驱动.find_element(By.NAME,"dist") sleep(3) #通过索引 Select(select_test03).select_by_index(0) sleep(3) 驱动.find_element(By.CSS_SELECTOR,".select-confirm-btn").click()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律