当前位置: 首页 > news >正文

下拉框select标签类型

在我们很多页面里有下拉框的选择,这种元素怎么定位呢?下拉框分为两种类型:我们分别针对这两种元素进行定位和操作
select标签 : 通过select类处理。
非select标签
1、针对下拉框元素,如果是Select标签类型,可以通过SeleniumWebDriver中的Select类来处理:
from selenium.webdriver.support.ui import Select
这个Select类提供了如下操作方法:
select_by_index(index) #通过选项的顺序 : 索引选择,从0开始
select_by_value(value) #通过value属性
select_by_visible_text(text) #通过选项可见文本
options #提供所有的选项的列表,其中都是选项的WebElement元

"""
* from selenium.webdriver.support.ui import Select
* 这个Select类提供了如下操作方法:* select_by_index(index) #通过选项的顺序 : 索引选择,从0开始* select_by_value(value) #通过value属性* select_by_visible_text(text) #通过选项可见文本* options #提供所有的选项的列表,其中都是选项的WebElement元素"""
import timefrom selenium.webdriver.support.ui import Select
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.maximize_window()
driver.get('file:///D:/Project/python_ui01/alert_demo.html')
# 先找到下拉框的元素
ele = driver.find_element(By.ID,"select")
# 通过选项的顺序 : 索引选择,从0开始
Select(ele).select_by_index(1)
#通过value属性
Select(ele).select_by_value("o5")
time.sleep(3)
Select(ele).select_by_visible_text("江西省") #通过选项可见文本
time.sleep(3)
driver.quit()

2、如果是非Select类型元素,不能通过Select类来进行处理,此时
直接点击即可。现在很多项目并不是select标签。

"""
* from selenium.webdriver.support.ui import Select
* 这个Select类提供了如下操作方法:* select_by_index(index) #通过选项的顺序 : 索引选择,从0开始* select_by_value(value) #通过value属性* select_by_visible_text(text) #通过选项可见文本* options #提供所有的选项的列表,其中都是选项的WebElement元素"""
import timefrom selenium.webdriver.support.ui import Select
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def wait_element_visible(element_visible):driver_visible = WebDriverWait(driver, 8, 0.8).until(EC.visibility_of_element_located(element_visible))return driver_visibledef wait_element_clickable(element_clickable):driver_clickable = WebDriverWait(driver, 8, 0.8).until(EC.element_to_be_clickable(element_clickable))return driver_clickabledriver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com/')
# 先找到下拉框的元素
setting = (By.XPATH,'//span[@id="s-usersetting-top"]')
serch_que = (By.XPATH,'//span[@class="set" and text()="高级搜索"]')
time_text = (By.XPATH,'//span[@class="c-select-selected-value" and text()="时间不限"]')
time_xe = (By.XPATH,'//p[@data-for="gpc" and text()="一周内"]')
wait_element_clickable(setting).click()
wait_element_clickable(serch_que).click()
wait_element_clickable(time_text).click()
wait_element_clickable(time_xe).click()
time.sleep(3)
driver.quit()

http://www.mrgr.cn/news/98942.html

相关文章:

  • 基于linux 设置无线网卡Monitor模式 sniffer抓包
  • Git-使用教程(新手向)
  • 向量数据库前沿:Faiss 向量数据库的配置与使用(文中有彩蛋)
  • 高频面试题:Android MVP/MVVM/MVI这几种架构在实际生产中,各自的优缺点和适用场景是什么
  • STM32单片机C语言
  • 《系统分析师-第三阶段—总结(一)》
  • SQL:聚合函数(Aggregate Functions)
  • docker.desktop下安装普罗米修斯prometheus、grafana并看服务器信息
  • 全面解析IPv6:从理论到实践(以H3C配置为例)
  • 2026《数据结构》考研复习笔记三(C++高级教程)
  • 浅谈验证(Verification)和确认(Validation)
  • Ubuntu22.04安装QT、px4安装环境
  • 操作系统-PV
  • RHCE的简单配置
  • QT调用ffmpeg库实现视频录制
  • MMAction2安装
  • Windows 部署 DeepSeek 详细教程
  • 基于Ubuntu22.04和OpenCV4.5.4的物联网人脸识别考勤机
  • 前端:uniapp框架中<scroll-view>如何控制元素进行局部滚动
  • Gnome将默认终端设置为 Kitty