python selenium 下拉框处理

在自动化测试中,处理下拉框(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()
复制代码
posted @   乐瓜乐虫  阅读(796)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示