设为首页收藏本站
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

Selenium WebDriver 中文教程API(五)之下拉框的处理

2015-7-13 13:37| 发布者: webdriver| 查看: 7614| 评论: 0|原作者: webdriver中文社区|来自: wedriver中文社区

摘要: Selenium WebDriver 处理 select下拉框对象 有multiple属性和没有multiple的区别 非select类型下拉框操作

WebDriver 特意为处理下拉框设置了一些方法,本篇将介绍正常下拉框和不正常下拉框的处理方法。

 

看见上图页面元素<select> </select>标签对,看到这个标签对,我们就可以使用Select对象来处理这个下拉框;但是大家注意一下multiple这个属性的区别:

这是一段提交文件的表单页面代码,一般提交文件都是单一提交的,加了multiple属性以后,就可以同时选择多个文件上传。

专业一点的解释:multiple 属性规定输入字段可选择多个值如果使用该属性,则字段可接受多个值

同理,上面的multiple就可以选择多个选项提交,而非multiple的只能单一的提交。

 

 

 

第一步:我们先要定位到<select>标签的位置,如上图:Webelement element = driver.findelement(By.id(“fruits”))就能定位到<select>标签;

 

第二步:我们需要new一个Select的对象:Select fruits = new Select(WebElement element),这个对象带有的参数就是<Select>标签这个对象;

 

第三步:我要把driver.findelement(By.id(“fruits”))传进去,Select fruits = new Select(element)

 

定位到Select,我们就可以调用Select的对象fruits中的一些方法来定位到下拉框的元素,下面介绍一下三个常用的方法:

 

1.fruits.selectByIndex(int x),下拉框的index 标识一般从0开始,如果x=0,定位到的就是下拉框的第一个元素,依此可以类推。

 

2.fruits.selectByValue(“apple”),下拉框有一个value属性,这个方法就是根据value属性的属性值来定位要选择的下拉框。

 

3.fruits.selectByVisibleText(“Banana”),这个是定位下拉框的可见文本。

 

 

正常的下拉框基本用这三个方法就能够处理了,下面介绍一种会误以为下拉框的处理方式。

这个情况是我自己遇到的,因为当时未理解下拉框是什么,看到类似于下拉框的就用Select对象来解决问题,结果被坑了好久时间,下面就介绍一下这个Bad case,但也是现在最常见的,我浏览了现在许多网站,很少见到select标签,大部分是这种情况。

 

类似于这种下拉选项,俺们就不能使用Select对象来处理了,查看它的页面元素上压根就没有select标签对,所以只要当普通元素去处理就好。

 

第一步:利用xpath 定位到全部游戏,弹出这个类似下拉框的东西。

第二步:利用By.linktext(),定位你想要切换的状态。

 

如果有问题请留言,有问必答。

鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋
收藏 分享 邀请

最新评论