web应用中有很多时候我们会遇见<select></select>标签的下列列表框,一般是无法直接去操作下列列表中的选择的。selenium webdriver 提供了专门操作select下拉列表的方法。

selectByIndex(2); //通过下拉列表中选项的索引选中第三项,在java中索引从0开始,不同语言,略有差异。

selectByValue("value"); //操作option标签中属性值。

selectByVisibleText(“value")//参数为option的text值。

getOptions();//返回select标签中的所有选项,返回类型式list集合,可以遍历操作所有选项。

public static void main(String[] args) {
System.setProperty("webdriver.firefox.bin", "D:\\Mozilla Firefox\\firefox.exe");
WebDriver driver = new FirefoxDriver();
// 以下是选择w3shool的select标签教程未实例 操作下拉列表
driver.get("http://www.w3school.com.cn/tags/tag_select.asp");
String winhand = driver.getWindowHandle();
// 获取当前句柄
System.out.println(driver.getWindowHandle() + "句柄");
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
// 设置等待页面元素
driver.findElement(By.xpath(".//*[@id='maincontent']/div[1]/p[2]/a")).click();
// 点击页面中的【亲自试一试】按钮
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
// 设置等待页面元素
Set<String> handles = driver.getWindowHandles();
for (String j : handles) {
if (j.equals(winhand) == false) {
driver.switchTo().window(j);
// 切换到新开的窗口
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
// 设置等待页面元素
driver.switchTo().frame("i");
WebElement el = driver.findElement(By.tagName("select"));
Select sel = new Select(el);
sel.selectByValue("saab");
// 操作下列列表中内容为saab。
// List<WebElement> SelectLinks = driver.findElements(By.tagName("option"));
// for (WebElement k : SelectLinks) {
// k.click();
//
// }
// 该处的for可以循环选择下列列表中的所有内容。
}
} }

selenium 下拉框处理的更多相关文章

  1. selenium下拉框选择

    下拉框结构如下,我需要选择的是new: html为: <select id="condition_type" name="condition_type" ...

  2. python selenium下拉框定位

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

  3. Selenium+Java(八)Selenium下拉框处理

    Selenium定位下拉框中的元素与普通元素定位有所不同,下面介绍三种定位下拉框元素的方法. 下拉款HTML代码如图所示: 一.通过text定位 //获取下拉框对象 Select city = new ...

  4. python selenium 下拉框

    下拉框的处理如下代码: 定位select有很多种方式,这里介绍两种定位方式 1.二次定位 先定位到下拉框:self.dr.find_element_by_css_selector('#business ...

  5. selenium - 下拉框操作

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

  6. selenium下拉框踩坑埋坑

    本文来自网易云社区 作者:王利蓉 最近web端全站重构,所有的页面都大大小小都有些变动,UI就全军覆没了,用例从登录改,改到个人信息页面发现根以前的实现方式完全不一样,这可怎么解决 1.以前的实现(o ...

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

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

  8. selenium python (十二)下拉框的处理

    #!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #下拉框在web页面上非常常见,对于下拉框的处理采用二次定位的方法进行元 ...

  9. 11 Python+selenium对下拉框(select)进行处理

    [环境信息] Python3.4+IE+windows2008 [Select下拉框处理] 1.对于如图1的下拉框,可以用selenium自带的Select类进行选择. 2.定位示例: from se ...

随机推荐

  1. Linux---CentOS 定时执行脚本配置

    非常多时候我们有希望server定时去运行一个脚本来触发一个操作.比方使用七牛的工具上传,假设同步文件中面有新添加一个文件,这个时候我们能够提供定时脚本去完毕我们须要的同步命令(七牛的qrsbox工具 ...

  2. 最短路径——Dijkstra算法以及二叉堆优化(含证明)

    一般最短路径算法习惯性的分为两种:单源最短路径算法和全顶点之间最短路径.前者是计算出从一个点出发,到达所有其余可到达顶点的距离.后者是计算出图中所有点之间的路径距离. 单源最短路径 Dijkstra算 ...

  3. STL中list的erase()方法

    http://www.cnblogs.com/gshlsh17/ rase()方法是删除iterator指定的节点  但是要注意的是在执行完此函数的时候iterator也被销毁了   这样的话关于it ...

  4. oracle ocp 052考试学习

    1.数据字典存储在SYSTEM表空间中. 2.SYSAUX可以offline: SQL>alter tablespace sysaux offline; 3.SYSTEM和SYSAUX都是永久表 ...

  5. qemu的drive参数解释

    drive参数很简单,可以理解成是定义了一个实际的硬盘(或者是cd)与drive对应的是device-drive option[,option[,option[,...]]] Define a new ...

  6. qemu的配置

    qemu的配置: buildroot的配置不需要多做配置,对了,设置下生成的文件系统是rootfs.ext2 内核打开virtio qemu脚本会在后面 疑问: 1)为什么qemu启动起来之后,没有e ...

  7. [洛谷P2584][ZJOI2006]GameZ游戏排名系统

    题目大意:同[洛谷P4291][HAOI2008]排名系统(双倍经验) 题解:略 卡点:无 C++ Code: #include <cstdio> #include <map> ...

  8. Event loop的macro task和micro task

    macrotask在一些文章中也被直接称为task. 一个宿主环境只有一个事件循环,但可以有多个任务队列.宏任务队列(macro task)与微任务队列(micro task)就是其中之二. 每次事件 ...

  9. 【BZOJ3038】上帝造题的七分钟2 线段树

    根据一个数六次√必死,我们可以打标记死了就不管他了,于是有贡献的操作复杂度为O(n*logn*6),然而我们还有由于盲目修改造成的多余代价我们把每次查询的区间分成三部分前全死,中残,后全死,对于中残, ...

  10. Linux下文件解压命令

    1.压缩命令: 命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名 可先切换到当前目录下.压缩文件名和被压缩文件名都可加入路径. 2.解压缩命令: 命令格式:tar -zxvf 压缩 ...