在利用selenium进行UI自动化测试过程中,经常会遇到下拉框选项,这篇博客,就介绍下如何利用selenium的Select模块来对标准select下拉框进行操作。。。

首先导入Select模块:

1 # coding=utf-8
2 from selenium import webdriver
3 from selenium.webdriver.support.select import Select

感兴趣的可以将鼠标指向Select,然后按住Ctrl鼠标单击,查看Select模块的源码,是如何定义封装Select的各个方法的。

1、Select提供了三种选择某一项的方法

1 select_by_index          # 通过索引定位
2 select_by_value # 通过value值定位
3 select_by_visible_text # 通过文本值定位

注意事项:

index索引是从“0”开始;

value是option标签的一个属性值,并不是显示在下拉框中的值;

visible_text是在option标签中间的值,是显示在下拉框的值;

2、Select提供了三种返回options信息的方法

1 options                  # 返回select元素所有的options
2 all_selected_options # 返回select元素中所有已选中的选项
3 first_selected_options # 返回select元素中选中的第一个选项

注意事项:

这三种方法的作用是查看已选中的元素是否是自己希望选择的:

options:提供所有选项的元素列表;

all_selected_options:提供所有被选中选项的元素列表;

first_selected_option:提供第一个被选中的选项元素;

3、Select提供了四种取消选中项的方法

1 deselect_all             # 取消全部的已选择项
2 deselect_by_index # 取消已选中的索引项
3 deselect_by_value # 取消已选中的value值
4 deselect_by_visible_text # 取消已选中的文本值

注意事项:

在日常的web测试中,会经常遇到某些下拉框选项已经被默认选中,这种时候就需要用到这里所说的四种方法;

下面以实际的代码来做个示例,被测试网页与源码截图如下:

比如要选择3线,那么三种选择方法示例代码如下:

 1 # coding=utf-8
2 from selenium import webdriver
3 from selenium.webdriver.support.select import Select
4 from time import sleep
5
6 # 登录
7 driver = webdriver.Chrome()
8 ......
9
10 # 根据索引选择
11 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_index("3")
12 # 根据value值选择
13 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_value("3线")
14 # 根据文本值选择
15 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_visible_text("3线")
16 sleep(5)
17 driver.quit()
 
转自:https://www.cnblogs.com/imyalost/p/7846653.html

以上就是关于selenium的Select模块提供的几种方法的用法,示例代码只是示例,具体实践还需要结合实际的工作需要来进行,后续会介绍关于Xpath以及CSS定位等相关的内容。。。

Selenium: 利用select模块操作下拉框的更多相关文章

  1. Selenium:利用select模块处理下拉框

    在利用selenium进行UI自动化测试过程中,经常会遇到下拉框选项,这篇博客,就介绍下如何利用selenium的Select模块来对标准select下拉框进行操作... 首先导入Select模块: ...

  2. selenium处理select标签的下拉框

    有时候我们会碰到<select></select>标签的下拉框.直接点击下拉框中的选项不一定可行.Selenium专门提供了Select类来处理下拉框. <select  ...

  3. 吾八哥学Selenium(四):操作下拉框select标签的方法

    我们在做web页面自动化测试的时候会经常遇到<select></select>标签的下拉框,那么在Python里如何实现去操作这种控件呢?今天就给大家分享一下这个玩法.为了让大 ...

  4. JQuery操作下拉框 select

    要实现这种效果: html代码 1<script src="js/jquery-1.7.2.min.js"></script> 2 <table> ...

  5. Jquery操作下拉框(DropDownList)实现取值赋值

    Jquery操作下拉框(DropDownList)想必大家都有所接触吧,下面与大家分享下对DropDownList进行取值赋值的实现代码 1. 获取选中项: 获取选中项的Value值: $('sele ...

  6. Jquery操作下拉框(DropDownList)的取值赋值实现代码(王欢)

    Jquery操作下拉框(DropDownList)的取值赋值实现代码(王欢) 1. 获取选中项: 获取选中项的Value值: $('select#sel option:selected').val() ...

  7. jQuery操作下拉框的text值和val值

    jQuery操作下拉框的text值和val值 1,JS源码 <select name="select1" id="select1" style=" ...

  8. jquery美化select,自定义下拉框样式

    select默认的样式比较丑,有些应用需要美化select,在网上找到一个很好的美化样式效果,本人很喜欢,在这里分享一下. <!DOCTYPE html PUBLIC "-//W3C/ ...

  9. JQuery操作下拉框

    转载自下面的链接,很有用的. http://www.cnblogs.com/yrhua/archive/2012/11/04/2753571.html 要实现这种效果: HTML代码 <scri ...

随机推荐

  1. Python 使用gevent下载图片案例

    import urllib.request import gevent from gevent import monkey monkey.patch_all() def downloader(img_ ...

  2. 解决windows 1903 alt + tab 切换卡顿

    右击此电脑图标 选择管理 服务和应用程序 服务 禁用system interface foundation service

  3. extern "C" 分析 -转

    1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同.作为一种欲与C兼容的语言,C++保留了一部分过程式语 ...

  4. jar命令详解

    原文链接:https://www.cnblogs.com/anyehome/p/9435371.html JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的, ...

  5. Nginx- web服务配置与测试

    (一) 软件介绍由俄罗斯人lgor Sysove开发,为开源软件.支持高并发:支持几万并发连接(特别是静态小文件业务环境) 资源消耗少:在3万并发连接下开启10个Nginx线程消耗内存不到200M 支 ...

  6. HDU 4862 Jump 任意起点最大权K链不相交覆盖

    你可以从任意起点开始起跳最多K次 每次跳你可以选择往右或者往下跳 从(x1,y1)跳到(x2,y2) 消耗的能量是曼哈顿距离-1 但是如果每次跳的起点和终点格子里的数字是相同的为X的话你会得到X能量 ...

  7. 使用Scrapy框架爬取腾讯新闻

    昨晚没事写的爬取腾讯新闻代码,在此贴出,可以参考完善. # -*- coding: utf-8 -*- import json from scrapy import Spider from scrap ...

  8. VSCode - Beautify 插件配置

    1. 在工作目录下建立.jsbeautifyrc文件 官方文档 { "brace_style": "none,preserve-inline", "i ...

  9. navigator对象及属性(userAgent)(扩展)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 使用JSP/Servalet技术开发新闻发布系统------JSP数据交互一

    什么是内置对象 JSP内置对象是 Web 容器创建的一组对象,不用通过手动new就可以使用 JSP中的九大内存对象  request 请求对象  response 响应对象  out   输出对象  ...