Selenium - 元素操作

  • 下拉框才做可以分为两类:

    • select标签的下拉框:使用Select类进行操作;

    • 非select标签的下拉框:一般是 ulli, 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) - 下拉框操作的更多相关文章

  1. selenium webdriver学习(八)------------如何操作select下拉框(转)

    selenium webdriver学习(八)------------如何操作select下拉框 博客分类: Selenium-webdriver   下面我们来看一下selenium webdriv ...

  2. selenium - 下拉框操作

    # 9. 下拉框操作# (1)等待下拉列表和下拉列表中值存在# (2)在下拉列表中选择一个值 # 三种方式# A. 获取所有的下拉列表值,然后用循环去匹配相同的值 select_by_index(下标 ...

  3. JQuery操作select下拉框

    JQuery操作select下拉框 获取Select选择的Text和Value $("#select_id").change(function(){//code...}); //为 ...

  4. jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等

    简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...

  5. jQuery下拉框操作系列$("option:selected",this) &&(锋利的jQuery)

    jQuery下拉框操作系列$("option:selected",this)  &&(锋利的jQuery) <!DOCTYPE html> <ht ...

  6. web自动化测试—selenium游览器下拉框操作

    # coding=utf-8'''下拉框实战思路导包:from selenium.webdriver.support.select import Select #下拉框select from sele ...

  7. Selenium常用操作汇总二——如何操作select下拉框

    下面我们来看一下selenium webdriver是如何来处理select下拉框的,以http://passport.51.com/reg2.5p这个页面为例.这个页面中有4个下拉框,下面演示4种选 ...

  8. selenium中各个模块操作:下拉框、鼠标悬浮连贯、拼图拖拽操作、以及其他拖拽操作、连线操作

    1.下拉框的修改操作 方法一:定位到元素后,通过select选择对应的值 方法二:通过两次点击的方法:没有select的value属性时,采用click两次的方法去选择: click第一次后,出现下拉 ...

  9. jquery操作select下拉框的多种方法(选中,取值,赋值等)

    Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为Sel ...

  10. jQuery操作select下拉框的text值和value值的方法

    1.jquery获取当前选中select的text值 $("#select1").find("option:selected").text(); 2.jquer ...

随机推荐

  1. luffy前端配置and跨域

    1. 安装axios 命令:npm install axios main.js内配置并使用 import axios from 'axios'app.config.globalProperties.$ ...

  2. 看看CabloyJS是如何异步加载并执行go wasm模块的

    介绍 CabloyJS提供了一个内置模块a-wasmgo,将go wasm模块的异步加载运行机制进行了封装,使我们可以非常方便的在CabloyJS项目中引入go wasm,从而支持更多的业务场景开发 ...

  3. 盘点10个最受欢迎IntelliJ IDEA主题,必有一款适合你!

    选择一款适合自己的主题,这样每天工作才不会累!下面给大家精选了一批优秀的主题,并配上案例截图.如果有你喜欢的,那就赶紧去下载吧! Darcula 这是IntelliJ IDEA默认的暗色主题,适合长时 ...

  4. 关于前端JS的一些常用方法和知识

    关于前端数据存储目前只解释有三种:cookie.localStorage.sessionStorage cookie解释:只针对当前session(会话)有效,关闭标签页即失效使用: 1 var ck ...

  5. Spring--事务角色+事务属性

    事务管理员 发起事务方,在Spring中通常指代业务层开启事务的方法 也就是相当于这个: 事务协调员 加入事务方,在Spring中通常指代数据层方法,也可以是业务层方法 也就是相当于这个: 事务相关配 ...

  6. vulnhub靶场之PYLINGTON: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Pylington: 1,下载地址:https://download.vulnhub.com/pylington/pylington.ova,下 ...

  7. Scanner基础用法

    Scanner基础用法 引入包java.util.Scanner 读一个单词 package charpter2; import java.util.Scanner; public class Sca ...

  8. CentOS7环境下数据库运维---主从复制、读写分离

    1.理解MySQL主从复制原理 主服务器开启binlog日志,从库生成log dump线程,将binlog日志传给从库I/O线程,从库生成俩个线程,一个是I/O线程,一个是SQL线程,I/O线程去请主 ...

  9. 高尔顿钉板的统计意义—R实现

    提到高尔顿,人们总是把他和钉板实验联系在一起,偶尔也会有人提及他是达尔文的表弟.实际上,作为维多利亚时代的人类学家.统计学家.心理学家和遗传学家,同时又是热带探险家.地理学家.发明家.气象学家,高尔顿 ...

  10. Kubernetes 各个组件 启动参数介绍

    kube-controller-manager Kubernetes 控制器管理器是一个守护进程,内嵌随 Kubernetes 一起发布的核心控制回路.在机器人和自动化的应用中,控制回路是一个永不休止 ...