在自动化测试中,处理下拉框(Dropdown)有以下几种方式:
1. 使用Select类:
通过select的相关方法选择option选项
select.select_by_index(index) 参数index表示的option索引
select.select_by_value(value) 参数value表示的是option元属中value的属性值
select.select_by_visible_text(visible_text ) 参数visible_text表示的是option的文本内容。
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()标签:python,selenium,下拉框,Select,id,element,find,select From: https://www.cnblogs.com/yund/p/17449169.html