概述
对下拉框进行处理时,需要使用selenium封装的方法:
Select list = new Select(locator);
需要new一个select的类,通过select类的方法进行具体的元素定位。
具体的方法如下:
第一大类方法:选择对应的元素:1. Text(downlist.selectByVisibleText(“学生”))
2. Value(downlist.selectByValue("13");)
3. Index(downlist.selectByIndex(2);)
具体代码如下:
WebElement formjob = driver.findElement(By.id("profile"));//定位到整个表单
WebElement job = formjob.findElement(By.id("job"));//定位到select标签
System.out.println(job.isDisplayed());
Select downlist = new Select(job);//new一个select对象
//downlist.selectByIndex(2);//通过select对象进行元素定位,通过index定位
//downlist.selectByValue("13");//通过select对象进行元素定位,通过value定位
downlist.selectByVisibleText("页面重构设计");//通过select对象进行元素定位,通过visibleText定位
第二大类方法:不选择对应的元素:1. deselectAll
2. deselectByValue
3. deselectByVisible
但是上述方法是针对,可多选的下拉框的方法,对于只能单选的下拉框处理无效,会报错;
在使用上述方法前,不妨:System.out.println(downlist.isMultiple()); 看一下是否为可多选的下拉框,如果结果为false,则无需使用上述方法。
第三大类方法:获得选择项具体的值1. getFirstSelectedOption().getText(); (获得当前已选择项的text,针对单选下拉框)
2. getAllSelectedOptions();(获得当前已选择项的内容,针对可多选下拉框,返回值是一 个List,要做循环拿出,如果是对单选下拉框操作,效果与1 方法完全相同)
具体代码如下:
downlist.selectByVisibleText("学生");//通过select对象进行元素定位,通过visibleText定位
System.out.println(downlist.getFirstSelectedOption().getText());
List<WebElement> allOptions = downlist.getAllSelectedOptions();//返回类型是list
for (WebElement option:allOptions) {
System.out.println(option.getText());
}
打印结果:
学生
学生
最后
以上就是唠叨小懒猪为你收集整理的selenium webdriver + java 下拉框处理的全部内容,希望文章能够帮你解决selenium webdriver + java 下拉框处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复