下拉框操作:

一般下拉框适用场景:在新增时有下拉框选项,在二级联动或多级联动有下拉(比如:在选择省市县时的多级联动下拉)。

下拉框选择都有select的标签属性,存在两个属性select和option。如:

其类型有:

①单选下拉框,可以选择一个元素。

②多选下拉框,可以选择多个元素。

定位方法:

①直接定位

②二次定位。先定位到select框,再定位到select选项。

③导入Select模块(推荐使用) -- 根据属性或者索引来定位。

先要导入Select方法     from selenium.webdriver.support.ui import Select 。

然后通过索引:s = driver.find_element_by_id('nr')

Select(s).select_by_index(2)

通过value值定位:s = driver.find_element_by_id('nr')

Select(s).select_by_value('20')

通过text值来定位:s = driver.find_element_by_id('nr')

Select(s).select_by_visible_text('宝马')

下面附上ms.html代码截图:

通过selenium实现:

import time

from selenium import webdriver

from selenium.webdriver.support.ui import Select    # 导入Select模块

# 指定驱动

driver = webdriver.Chrome(r"C:\webdriver\chromedriver.exe")

# 打开网址

driver.get('file:///C:/Users\Administrator/PycharmProjects/1120/web_driver/lesson3/ms.html')

# 获得相应的webElement

select = Select(driver.find_element_by_id('multi'))

# 先取消所有选择的选项

select.deselect_all()

# 根据text值定位

select.select_by_visible_text('雅阁')

select.select_by_visible_text('宝马 740')

# 获得相应的webElement

select = Select(driver.find_element_by_id('single'))

# 根据value值定位

select.select_by_value('male')

driver.quit()

Selenium之下拉框操作的更多相关文章

  1. selenium - 下拉框操作

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

  2. robotframework+python3+selenium之下拉框的选择---第五集

    由于我没有找到option形式的,所以借鉴其他大神的博客内容,如下: 1.F12后看见下拉框的源码是<option xxx> 2.如果F12后看到的下拉源码是这样的: <div xx ...

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

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

  4. Selenium之编辑框操作

    编辑框操作: 网页上随处可见的编辑框,有时候编辑框里有默认的提示文字或者当我们需要输入第二次测试数据时,须先用clear()方法清除该元素里的字符串,再输入文本: 那么如何获取输入框已经输入的文本内容 ...

  5. python上selenium的弹框操作

    selenium之弹框操作 1,分类 弹框类型自见解分为四种: 1,页面弹框 2,警告提示框(alert) 3,确认消息框(confirm) 4,提示消息对话(prompt) 提示:selenium ...

  6. 【Python+selenium Wendriver API】之下拉框定位

    上代码: # coding:utf-8 from selenium import webdriver from selenium.webdriver.common.action_chains impo ...

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

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

  8. 转:python webdriver API 之下拉框处理

    下拉框也是 web 页面上非常常见的功能,webdriver 对于一般的下拉框处理起来也相当简单,要想定位下拉框中的内容,首先需要定位到下拉框:这样的二次定位,我们在前面的例子中已经有过使用,下面通过 ...

  9. python selenium下拉框定位

    一.前言 总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询: 二.直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPa ...

随机推荐

  1. ThreadLocal<T> 源码解析

    在activeJDBC框架内部的实现中看到了 ThreadLocal 这个类,记录下了每个线程独有的连接 private static final ThreadLocal<HashMap< ...

  2. Angular 2的HTML5 pushState在ASP.NET Core上的解决思路

    Angular 2的HTML5 pushState在ASP.NET Core上的解决思路 正如Angular 2在Routing & Navigation中所提及的那样,Angular 2是推 ...

  3. Laravel框架安装RabbitMQ消息中间件步骤

    Laravel5.6 整合 RabbitMQ 消息队列 简介: Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关 ...

  4. Idea集成SpringBoot实现两种热部署方式(亲测有效)

    即将介绍的两种热部署方式: 1.SpringLoaded 2.DevTools 区别: SpringLoader:SpringLoader 在部署项目时使用的是热部署的方式. DevTools:Dev ...

  5. springMVC-MyBatis-Mysql 环境下, 返回时间格式不是指定格式

    在数据库中的时间是: 比如: 2018-04-06:12;23:34. 但是mybatis查询出来以后是下面的格式. {"updatedTime":{"date" ...

  6. python+appium搭建的测试环境

    : 1,安装jdk JDK下载好jdk直接点下一步就可以了,然后开始配置变量classpath, path, Java_home:再运行cmd,并输入Java和javac看输出判断环境变量是否配好了. ...

  7. 对js中局部变量、全局变量和闭包的理解

    对js中局部变量.全局变量和闭包的理解 局部变量 对于局部变量,js给出的定义是这样的:在 JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域 ...

  8. Java实现AES加密解密

    之前常用两种加密算法:Base64和Md5,前者容易破解,后者不可逆. AES采用对称加密方式,破解难度非常大,在可逆的基础上,能很好的保证数据的安全性. 这里介绍Java中实现AES加密算法的加密与 ...

  9. HDFS之DataNode

    DataNode工作机制 1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳. 2)DataNode启动后 ...

  10. BIOS和CMOS概念整理

    一:什么是BIOS  BIOS(Basic Input Output System),基本输入输出系统.是被写死在主板ROM只读芯片中的一组程序,在开机的时候首先要去读取的一个小程序. 它是我们可以将 ...