如下图就是下拉框以及对应的标签属性:
以下演示操作以图中页面为例(图中的页面是本地的网页,小伙伴们如果需要可以加入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 @BeforeEach21 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 @Test30 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 Listel = select.getOptions();55 int size = el.size();56 for(int i=0; i
运行结果:
注意:
1、下拉列表的值角标从0开始,而非1
2、引用select对象时,需要导入相应的包,否则eclipse自检代码不通过就会报错
3、代码中使用的集合也需要导包
4、Select select = new Select(element)
select对象只能对select标签的元素进行操作
如果是ul类型的标签则无效果
如果有不明白的小伙伴可以加群“555191854”问我,群里都是软件行业的小伙伴相互一起学习。