本文将介绍如何处理下拉框选项和多选操作,首发于微信公众号【软测小生】

从下拉框中选择–>选项

在控制下拉框之前,我们必须做以下两件事:

  1. 导入包org.openqa.selenium.support.ui.Select
  2. 在WebDriver中将下拉框实例化为Select对象

例如,进入Mercury Tours的注册页面(http://demo.guru99.com/test/newtours/register.php), 看到这里的Country下拉框。


第一步:
导入Select包;

import org.openqa.selenium.support.ui.Select;

第二步
将下拉元素声明为Select类的实例。在下面的示例中,我们将这个实例命名为drpCountry;

Select drpCountry = new Select(driver.findElement(By.xpath("country")));

第二步
现在,我们可以开始使用任何可用的选择方法来控制drpCountry;
下面的示例代码将选择“ANTARCTICA”选项:

drpCountry.selectByVisibleText("ANTARCTICA");

选择项中有多个元素

我们还可以使用selectByVisibleText()方法在一个多选择元素中选择多个选项。
例如我们将以http://jsbin.com/osebed/2作为测试的URL:它包含一个下拉框,允许一次选择多个选项。

下面的代码将使用selectByVisibleText()方法选择前两个选项:

选择的方法(5种)

下面是下拉列表中最常用的方法:

  • selectByVisibleText()和deselectByVisibleText()

    1、通过选项的文本进行操作:选择/取消选择;
    2、Parameter:指定选项对应的文本

  • selectByValue() 和deselectByValue()
    1、通过选项的属性值进行操作:选择/取消选择
    2、Parameter:属性的值;
    3、注意:并非所有下拉选项都具有相同的文本和“value”,如下面的示例所示:

  • selectByIndex() 和 deselectByIndex()

    1、通过选项的索引值(下标)进行操作:选择/取消选择
    2、Parameter参数:选择项对应的索引值(下标)

  • isMultiple()

    1、如果下拉元素允许多选,则返回TRUE;否则返回FALSE。
    2、参数:不需要参数

  • deselectAll()

    1、取消所有选中选项;注意,只有当下拉元素支持多选时,这才有效。
    2、参数:不需要参数

以下是上文中的完整代码:

package newpackage;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.By;public class accessDropDown {public static void main(String[] args) { System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");String baseURL = "http://demo.guru99.com/test/newtours/register.php";WebDriver driver = new FirefoxDriver();driver.get(baseURL);Select drpCountry = new Select(driver.findElement(By.name("country")));drpCountry.selectByVisibleText("ANTARCTICA");//在多个选项中选择driver.get("http://jsbin.com/osebed/2");Select fruits = new Select(driver.findElement(By.id("fruits")));fruits.selectByVisibleText("Banana");fruits.selectByIndex(1);}
}

使用SeleniumWebdriver操作下拉框菜单DropDown相关推荐

  1. js实现省市区联动调节下拉框菜单

    在我们平时的网页制作中,经常需要使用到一种控件,能够实现对省市区级联调节的下拉框菜单,如下图所示: 一共有三个下拉控件,后一个下拉控件中的内容根据前一个下拉框的内容来定,比如,第一个控件中为江苏省,那 ...

  2. DOM 案例——(美团外卖下拉框菜单、半透明——信息滑入、模态窗口拖拽效果、放大镜效果、滚动条滑到一定位置的固定导航栏、12306购票网站多级联动、斗鱼TV无规则弹幕特效、百度搜索条动态输入下拉瀑布)

    目录 1.缓动动画--美团外卖下拉框菜单 2.半透明--信息滑入 3.模态窗口拖拽效果 4.放大镜效果 5.滚动条滑到一定位置的固定导航栏 6.12306购票网站多级联动 7.斗鱼TV无规则弹幕特效 ...

  3. java省市县联动 下拉框选择_原生JavaScript实现动态省市县三级联动下拉框菜单实例代码...

    像平时购物选择地址时一样,通过选择的省动态加载城市列表,通过选择的城市动态加载县区列表,从而可以实现省市县的三级联动,下面使用原生的JavaScript来实现这个功能: 先给大家展示下测试结果: 未做 ...

  4. html input dropdown,jQuery轻量级下拉框插件Dropdown

    插件描述:Dropdown是面向PC端的基于jQuery开发的轻量级下拉框插件,支持keyvalue搜索,有token和两种模式. 更新时间:2017/7/7 上午11:45:40 更新说明:修复 热 ...

  5. JQuery操作下拉框

    要实现这种效果: HTML: <script src="js/jquery-1.7.2.min.js"></script> <table>< ...

  6. 好看的css下拉框样式,实用的漂亮的下拉框-CUSTOM DROP-DOWN LIST STYLING

    插件描述:今天我给大家介绍一款下拉选择框,有5种漂亮的样式可供我们选择,真的蛮实用的 今天我给大家介绍一款下拉选择框,有5种漂亮的样式可供我们选择,真的蛮实用的 预览图 width="474 ...

  7. python爬虫selenium操作下拉框详解

    使用python爬虫的selenium操作网页的下拉框. 以该网站为例:https://www.17sucai.com/pins/demo-show?id=5926 该网页下存在多个可供测试的下拉框. ...

  8. 下拉框插件 dropdown.js介绍

    在项目中使用到了dropdown.js插件,把使用的方法以及注意点记录了下来. 插件描述:Dropdown是面向PC端的基于jQuery开发的轻量级下拉框插件,支持keyvalue搜索,有token和 ...

  9. jquery操作下拉框(select)的一些说明

    公司网站目前的访问用户中使用IE6.0的站50%以上,所以必需兼容IE6.0,使用jquery在IE6.0中设置下拉框时会有以下一些问题 //==========测试代码=============== ...

最新文章

  1. 【收藏】Windows编译安装Redis 6.0
  2. Mr.J--俄罗斯方块实现(框架)
  3. MySQL 如何实现行转列分级输出?
  4. 余承东感慨Mate系列:太艰辛了,质疑声太大
  5. db2:根据TABLEID找table
  6. 链表的基本操作:创建、插入、删除操作对应c/c++代码
  7. java的运行环境是什么_Java运行环境是什么
  8. c语言网页制作,C语言写网页
  9. 招银网络科技2019年春招笔试面试总结
  10. 代谢组学数据分析及网络药理学研究技术与实践
  11. 坐标系旋转矩阵推导过程
  12. c语言米粒数实验报告,数字图像处理实验报告米粒.doc
  13. QT 秒/毫秒 转 时分秒
  14. 百度流量异常投诉方法、网站被黑了处理方案、网站被镜像处理方案
  15. 变态跳台阶——一次可以跳1级、也可以跳2级……也可以是n级。求跳上一个n级的台阶共有多少种跳法
  16. 打麻将必胜绝技(珍藏版,逢赌必赢)
  17. AFS10射频高频功放管 的阻抗特性
  18. Windows 不能上网怎么办
  19. 【游戏开发实战】手把手教你从零跑一个Skynet,详细教程,含案例讲解(服务端 | Skynet | Ubuntu)
  20. 有一行电文,已按下面规律译成密码: A →Z B→Y C→X …… a→z b→y c→x …… 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字

热门文章

  1. 什么是特征工程?如何进行特征工程?
  2. git菜鸟入门级教程
  3. bO耳机软件_明日方舟兑换码地址b服介绍 b服兑换码地址
  4. 自己的反汇编引擎--Intel指令编码(2)
  5. 2022.10.16 第二十六次周报
  6. 儿童感染性腹泻病详细问诊问题,该如何做出具体诊断
  7. 第三方支付是否已经达到了饱和期?它有怎样的产业阶段?依据产业阶段未来三方支付将何去何从?
  8. imap收件服务器无响应,imap设置收件服务器
  9. 动态规划DP算法理解
  10. 麓言信息平面设计师自学怎么学-自学平面设计从哪里入手