Selenium - 元素操作(3) - 下拉框操作
Selenium - 元素操作
下拉框才做可以分为两类:
select标签的下拉框:使用Select类进行操作;
非select标签的下拉框:一般是
ul,li,div等标签组成,使用元素定位的方法,首先点击下拉框,然后点击选项。
select标签
是针对select标签的操作:
from selenium.webdriver.support.select import Select:导入对应的模块select.select_by_index(index):通过索引选择,索引从0开始select.select_by_value(value):通过option标签的value属性选择select.select_by_visible_text(text):通过option标签的文本选择
标签元素示例
<SELECT id="status" style="width:150" name="state" selectedIndex="$!{state}">
<OPTION value="aa">全部</OPTION>
<OPTION value="bb">通过</OPTION>
<OPTION value="cc">末通过</OPTION>
<OPTION value="dd">待处理</OPTION>
</SELECT>
代码实例
from selenium import webdriver
from time import sleep
# 导入对应模块
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
# 点开下拉框
driver.find_element_by_link_text('下拉框示例').click()
# 获取下拉框选项
item = Select(driver.find_element_by_id('status'))
- 下拉框选择
# 通过索引index选择
item.select_by_index(3)
# 通过value值选择
item.select_by_value('cc')
# 通过选项文本选择
item.select_by_visible_text('待处理')
- 下拉框取消选择
# 取消所有选择
item.deselect_all()
# 通过索引index取消选择
item.deselect_by_index(3)
# 通过value值取消选择
item.deselect_by_value('cc')
# 通过选项文本取消选择
item.deselect_by_visible_text('待处理')
- 返回选择信息
# 返回第一个选中选项
item.first_selected_option()
# 返回所有已选中选项
item.all_selected_options()
非select标签
思路 1:下拉框如果可以输入,那就可以当成输入框来输入就行了
1、定位下拉框,并点击展开下拉框
2、在下拉框,输入要点击的内容
3、选中需要点击的内容
TODO
思路 2:定位到每一个下拉选项元素,点击操作
1、定位下拉框,并点击展开下拉框
2、定位需要选中的内容
3、点击元素
TODO
Selenium - 元素操作(3) - 下拉框操作的更多相关文章
- selenium webdriver学习(八)------------如何操作select下拉框(转)
selenium webdriver学习(八)------------如何操作select下拉框 博客分类: Selenium-webdriver 下面我们来看一下selenium webdriv ...
- selenium - 下拉框操作
# 9. 下拉框操作# (1)等待下拉列表和下拉列表中值存在# (2)在下拉列表中选择一个值 # 三种方式# A. 获取所有的下拉列表值,然后用循环去匹配相同的值 select_by_index(下标 ...
- JQuery操作select下拉框
JQuery操作select下拉框 获取Select选择的Text和Value $("#select_id").change(function(){//code...}); //为 ...
- jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等
简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...
- jQuery下拉框操作系列$("option:selected",this) &&(锋利的jQuery)
jQuery下拉框操作系列$("option:selected",this) &&(锋利的jQuery) <!DOCTYPE html> <ht ...
- web自动化测试—selenium游览器下拉框操作
# coding=utf-8'''下拉框实战思路导包:from selenium.webdriver.support.select import Select #下拉框select from sele ...
- Selenium常用操作汇总二——如何操作select下拉框
下面我们来看一下selenium webdriver是如何来处理select下拉框的,以http://passport.51.com/reg2.5p这个页面为例.这个页面中有4个下拉框,下面演示4种选 ...
- selenium中各个模块操作:下拉框、鼠标悬浮连贯、拼图拖拽操作、以及其他拖拽操作、连线操作
1.下拉框的修改操作 方法一:定位到元素后,通过select选择对应的值 方法二:通过两次点击的方法:没有select的value属性时,采用click两次的方法去选择: click第一次后,出现下拉 ...
- jquery操作select下拉框的多种方法(选中,取值,赋值等)
Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为Sel ...
- jQuery操作select下拉框的text值和value值的方法
1.jquery获取当前选中select的text值 $("#select1").find("option:selected").text(); 2.jquer ...
随机推荐
- webpack之性能优化(webpack4)
在讲解性能优化的方案之前,我们需要了解一下webpack的整个工作流程, 方案一:减少模块解析 也就是省略了构建chunk依赖模块的这几个步骤 如果没有loader对该模块进行处理,该模块的源码就是最 ...
- python通过轮子安装第三方库(以Wordcloud为例)
1.查看python版本 直接输入如下命令: python 执行结果如下: 我们可以直到,本机的python版本为: AMD64bit 3.11版本python 2.下载合适python版本的轮子 下 ...
- XSS(Cross-site Scripting)-跨站脚本
XSS介绍 XSS 是基于 JavaScript 的,因此对该语言有基本的了解会很有帮助.了解XSS需要对客户端-服务器请求和响应有基本的了解 跨站点脚本,在网络安全社区中更广为人知的是 XSS,被归 ...
- CSPS2019 括号树 题解
链的部分分 我们设f[i]表示以i结尾的括号序列有多少个,那么i的实际答案就是f的前缀和 显然,所有左括号和不能匹配的右括号的f均为0 对于每一个能匹配的右括号i,我们找到与之匹配的左括号p,以i结尾 ...
- 使用 zeromq与cppzmq 程序退出遇到的坑
在使用zeromq 退出的时候还遇到一点坑,对于服务deaman(守护进程)化的进程可能会遇到这个问题. 现象: 这个问题导致的现象是服务一旦关闭(stop),就会 core dump,core du ...
- Spring 的核心组件详解
Spring 总共有十几个组件,但是真正核心的组件只有三个:Core.Context 和 Bean.它们构建起了整个 Spring的骨骼架构,没有它们就不可能有 AOP.Web 等上层的特性功能. 一 ...
- 分布式缓存的一致性 Hash 算法
一.使用一致性 Hash 算法的原因 简单的路由算法可以使用余数 Hash:用服务器数据除缓存数据 KEY 的 Hash 值,余数为服务器列表下标编码.这种算法可以满足大多数的缓存路由需求.但是,当分 ...
- gulp基本操作
1.安装淘宝镜像 npm install cnpm -g --registry=https://registry.npm.taobao.org cnpm -v 2.生成项目描述文件 package.j ...
- 最新centos7 部署 k8s v1.26,简单易懂,跟着命令敲就完事
其实没什么好说的,搭环境搞了一整天,人已经麻了,踩了很多坑,网上教程的版本大都比较旧,总是和最新版本各种地方不兼容,把坑踩完了,k8s目前最新的版本是v1.26,跟着命令敲就行了,我已经重复部署了很多 ...
- day3 函数的定义和调用,练习编写简单的程序(记录1)
一.函数的定义 可以分为以下两种: 1.函数声明和函数定义分离 这种方法将函数声明和函数定义分开,通常在头文件中先声明函数原型,然后在源文件中实现函数定义. 例如,头文件 example.h 中声明了 ...