如下图就是下拉框以及对应的标签属性:

 以下演示操作以图中页面为例(图中的页面是本地的网页,小伙伴们如果需要可以加入555191854或者找其他有下拉的网站进行练习):

有3种方式可以从下拉列表中选取值:

a、使用索引来选择

b、通过value的值来选择

c、根据文本值来选择

 1 package basicweb;
 2 
 3 import java.util.List;
 4 import java.util.concurrent.TimeUnit;
 5 
 6 import org.junit.jupiter.api.AfterEach;
 7 import org.junit.jupiter.api.BeforeEach;
 8 import org.junit.jupiter.api.Test;
 9 import org.openqa.selenium.By;
10 import org.openqa.selenium.WebDriver;
11 import org.openqa.selenium.WebElement;
12 import org.openqa.selenium.chrome.ChromeDriver;
13 import org.openqa.selenium.support.ui.Select;
14 
15 class DropdownSelect {
16 
17     WebDriver driver;
18     String url;
19     
20     @BeforeEach
21     void setUp() throws Exception {
22         driver = new ChromeDriver();
23         url = "C:\Users\acer\eclipse-workspace\SeleniumPractise\PracticePage.html";
24         driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
25         driver.manage().window().maximize();
26         driver.get(url);
27     }
28     
29     @Test
30     void test() throws Exception {
31 //        定位下拉列表
32         WebElement element = driver.findElement(By.id("fruitselect"));
33 //        创建对象
34         Select select = new Select(element);
35         
36         Thread.sleep(2000);
37         System.out.println("选择第二个下拉框元素(桔子)");
38 //        通过标签的value值来选择
39         select.selectByValue("orange");
40 
41         Thread.sleep(2000);
42         System.out.println("选择第一个下拉框元素(苹果)");
43 //        通过下标索引直接选择
44         select.selectByIndex(0);
45 
46         Thread.sleep(2000);
47         System.out.println("选择第二个下拉框元素(桃子)");
48 //        通过下拉选项的文本值来选择
49         select.selectByVisibleText("桃子");
50         
51         Thread.sleep(2000);
52         System.out.println("通过集合打印操作的下拉框元素:");
53 //        getOptions方法可以返回一个集合,将WebElement中接受到的元素按照下拉列表角标依次返回到el集合中
54         List<WebElement> el = select.getOptions();
55         int size = el.size();
56         for(int i=0; i<size; i++) {
57 //            用一个String类型的变量来介绍取到的字符串文本
58             String elText = el.get(i).getText();
59         System.out.println("索引位为"+i+"的下拉框元素文本值为:"+elText);
60         }
61     }
62 
63     @AfterEach
64     void tearDown() throws Exception {
65         Thread.sleep(2000);
66         driver.quit();
67     }
68 }

运行结果:

注意:

1、下拉列表的值角标从0开始,而非1

2、引用select对象时,需要导入相应的包,否则eclipse自检代码不通过就会报错

3、代码中使用的集合也需要导包

 4、Select select = new Select(element)

select对象只能对select标签的元素进行操作

如果是ul类型的标签则无效果

 

 

如果有不明白的小伙伴可以加群“555191854”问我,群里都是软件行业的小伙伴相互一起学习。

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!