首页 > 编程语言 >python selenium 下拉框处理

python selenium 下拉框处理

时间:2023-06-01 15:34:16浏览次数:46  
标签:python selenium 下拉框 Select id element find select

在自动化测试中,处理下拉框(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

相关文章

  • Python笔记:正则表达式方法
    正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不......
  • Element-ui中 选择器(select)多选下拉框实现全选功能
    Element-ui中选择器(select)多选下拉框实现全选功能需求(产品整活):需要下拉时候可以一键全选父组件运用<template><div><MultipleSelect:filterable="false":selectOptions="selectOptions"//数据集合:mulSelectLoading="mulSelectLoad......
  • Python模块 - Paramiko
    ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography)。有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。paramiko包含两个核心组件:SSHClient和SFTPCli......
  • python 搭建一个Web自动化测试环境
    搭建一个Web自动化测试环境的具体步骤如下:1.安装Python:首先需要安装Python编程语言。可以从Python官方网站下载最新的稳定版本,并按照安装指南进行安装。官方网站链接:https://www.python.org2.安装浏览器驱动程序(注意:浏览器版本需要和驱动版本对应):根据使用的浏览器类型,下载对应......
  • 2-1-1python语法基础--基础-数据类型-数字
    列举布尔值为False的常见值?1,布尔型,False表示False,其他为True2,整数和浮点数,0表示False,其他为True3,字符串和类字符串类型(包括bytes和unicode),空字符串表示False,其他为True4,序列类型(包括tuple,list,dict,set等),空表示False,非空表示True5,None永远表示False浮点数保留两位小数,并做四......
  • Python字典:强大的键值对数据结构
    在Python中,字典是一种多功能和强大的数据结构,它允许我们以键值对的形式存储和操作数据。字典在其他编程语言中也被称为关联数组或哈希映射,它提供了一种高效的方式来根据键检索和更新值。在本文中,我们将探讨Python中的字典概念,并了解如何有效地使用它们。Python中的字典是无序的键......
  • python spark 随机森林入门demo
    class pyspark.mllib.tree.RandomForest[source]Learningalgorithmforarandomforestmodelforclassificationorregression.Newinversion1.2.0.supportedFeatureSubsetStrategies =('auto','all','sqrt','log2',......
  • python spark 决策树 入门demo
    Refertothe DecisionTree and DecisionTreeModel formoredetailsontheAPI.frompyspark.mllib.treeimportDecisionTree,DecisionTreeModelfrompyspark.mllib.utilimportMLUtils#LoadandparsethedatafileintoanRDDofLabeledPoint.data=MLUtils.l......
  • python spark 求解最大 最小 平均
    rdd=sc.parallelizeDoubles(testData);Nowwe’llcalculatethemeanofourdataset. 1LOGGER.info("Mean:"+rdd.mean());Therearesimilarmethodsforotherstatisticsoperationsuchasmax,standarddeviation,…etc.Everytimeoneofthismethodisin......
  • python spark kmeans demo
    官方的demofromnumpyimportarrayfrommathimportsqrtfrompysparkimportSparkContextfrompyspark.mllib.clusteringimportKMeans,KMeansModelsc=SparkContext(appName="clusteringExample")#Loadandparsethedatadata=sc.textFile("/......