(一) Select

Select类是selenium的一个特定的类,用来与下拉菜单和列表交互。

下拉菜单和列表是通过HTML的<select> 元素实现的。选择项是通过<select>中的<option>元素实现的。使用前使用下面的语句导入模块。

from selenium.webdriver.support.ui import Select

(二) Select类的功能及方法

功能/属性

简单说明

all_selected_options
获取下拉菜单和列表中被选中的所有选项内容
first_selected_option
获取下拉菜单和列表的第一个选项
options
获取下拉菜单和列表的所有选项

方法

简单说明

deselect_all()
清除多选下拉菜单和列表的所有选择项
deselect_by_index(index)
根据索引清除下拉菜单和列表的选择项
Index:要清除目标的索引
deselect_by_value(value)
清除和给定参数匹配的下拉菜单和列表的选择项
value:要清除目标选择项的value属性
deselect_by_visible_text(text)
清除和给定参数匹配的下拉菜单和列表的选择项
text:要清除目标选择项的文本值
select_by_index(index)
根据索引选择下拉菜单和列表的选择项
select_by_value(value)
选择和给定参数匹配的下拉菜单和列表的选择项
select_by_visible_text(text)
选择和给定参数匹配的下拉菜单和列表的选择项

(三)  示例(检查12306注册页面的证件类型是否与预期一致)

from selenium import webdriver
import unittest
from selenium.webdriver.support.ui import Select
class Register(unittest.TestCase):
...省略setup(这段就不注释了)
def test_register(self):
card_type =['二代身份证','港澳通行证','台湾通行证','护照']
card_type_options = []
#定位证件类型字段,作为Select类的对象实例
select_card_type = Select(self.driver.find_element_by_id('cardType'))
#检查默认选项是否为'二代身份证'
self.assertTrue(select_card_type.first_selected_option.text == '二代身份证')
#页面提供的证件类型选项数量是否为4个
self.assertEqual(4,len(select_card_type.options))
#将页面上每个选项的文本值添加到 card_type_options[]
for s in select_card_type.options:
card_type_options.append(s.text)
#检查页面上证件类型选项是否与预期一致
self.assertListEqual(card_type,card_type_options)
select_card_type.select_by_index(1) #选择索引为1的选项(港澳通行证)
#检查选择港澳通行证时,是否显示出生日期字段
self.assertTrue(self.driver.find_element_by_id('born_date').is_displayed())
select_card_type.select_by_value('B') #选择value = 'B'的选项(护照)
select_card_type.select_by_visible_text('二代身份证') #选择文本为 二代身份证的选项
...省略tearDown(这段就不注释了)

Python+Selenium笔记(八):操作下拉菜单的更多相关文章

  1. 『心善渊』Selenium3.0基础 — 13、Selenium操作下拉菜单

    目录 1.使用Selenium中的Select类来处理下拉菜单(推荐) 2.下拉菜单对象的其他操作(了解) 3.通过元素二次定位方式操作下拉菜单(重点) (1)了解元素二次定位 (2)示例: 页面中的 ...

  2. java poi excel操作 下拉菜单 及数据有效性

    1 private InputStream updateTemplateStyleHSSF(InputStream inputStream,CsCustCon csCustCon) throws IO ...

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

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

  4. Selenium下拉菜单(Select)的操作-----Selenium快速入门(五)

    对于一般元素的操作,我们只要掌握本系列的第二,三章即可大致足够.对于下拉菜单(Select)的操作,Selenium有专门的类Select进行处理.文档地址为:http://seleniumhq.gi ...

  5. selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等

    selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...

  6. Python+selenium下拉菜单选项

    案例:在我要自学网登录页面选择要保留的时间 具体页面如图所示: 使用前端工具查看部分页面代码: <select class="loinp" name="Cookie ...

  7. selenium基础(下拉菜单操作)

    selenium基础(下拉菜单操作) 非select/option元素: 1.触发下拉列表出现 2.等待下拉列表中的元素出现,然后进行选择元素即可. select/option元素: 下拉框操作-Se ...

  8. Bootstrap入门(八)组件2:下拉菜单

    Bootstrap入门(八)组件2:下拉菜单   先引入本地的CSS文件和JS文件(注:1.bootstrap是需要jQuery支持的.2.需要在<body>当中添加) <link ...

  9. selenium.common.exceptions.ElementNotVisibleException: Message: element not visible处理方法:selenium针对下拉菜单事件的处理

    使用Selenium爬虫时,可能会遇到一些下拉菜单,动态加载,如果直接使用find_element_by_函数会报错,显示selenium.common.exceptions.ElementNotVi ...

随机推荐

  1. Identity Server4学习系列二之令牌(Token)的概念

    1.简介 通过前文知道了Identity Server4的基本用途,现在必须了解一些实现它的基本细节. 2.关于服务端生成Token令牌 头部(Header): { “typ”: “JWT”, //t ...

  2. SHELL脚本编程的常识和VI常用技巧

    来源:http://mprc.pku.edu.cn/mentors/training/TrainingCourses/material/ShellProgramming.HTM#_Toc3751808 ...

  3. Entity Framework 6 Recipes 2nd Edition(目录索引)

    Chapter01. Getting Started with Entity Framework / 实体框架入门 1-1. A Brief Tour of the Entity Framework ...

  4. ObjectOutputStream

    public class Test { public static void main(String[] args) throws Exception { //writeObject(); readO ...

  5. Css相关用法个人总结

    Css相关用法个人总结

  6. [转]magento性能优化

    本文转自:https://www.cnblogs.com/zhengyanbin2016/p/5577792.html magento性能优化 14个快速加载web页面的技巧: 减少HTTP请求数使用 ...

  7. Mouse单击高亮GridView数据行

    有网友需要对GridView控件作一些操作.不过有些复杂,Insus.NET细分他的要求,一步一步来实现.不过细分的每一步,亦是一个小功能.因此Insus.NET就单独实现,然后一起结合起来,就是可以 ...

  8. AssemblyInfo.cs 详解

    前言 ? .net工程(包括Web和WinForm)的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件.但我们实际上通过另一个形式操作 ...

  9. Jquery 基本动画

    1.三组基本的动画 显示:show .隐藏hide.滑入:slideUp.滑出:slideDown.滑入滑出切换:slideTpggle.淡入:fadeIn.淡出:fadeOut.淡入淡出切换:fad ...

  10. MYSQL查询优化:数据类型与效率

    这一部分提供了如何选择数据类型来帮助提高查询运行速度的一些指导:    在可以使用短数据列的时候就不要用长的.如果你有一个固定 长度的CHAR数据列,那么就不要让它的长度超出实际需要.如果你在数据列中 ...