zoukankan      html  css  js  c++  java
  • 章节十一、8-操作多选列表框

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

    多选列表框可以选择后可以按Ctrl然后选择多项或者取消已经选择的选项,上一节中讲到下拉列表框是不可以进行此操作的。

    一、多选列表框的标签中会带有“multiple”属性

    二、实例演示

     1 package basicweb;
     2 
     3 import static org.junit.jupiter.api.Assertions.*;
     4 
     5 import java.util.List;
     6 import java.util.concurrent.TimeUnit;
     7 
     8 import org.junit.jupiter.api.AfterEach;
     9 import org.junit.jupiter.api.BeforeEach;
    10 import org.junit.jupiter.api.Test;
    11 import org.openqa.selenium.By;
    12 import org.openqa.selenium.WebDriver;
    13 import org.openqa.selenium.WebElement;
    14 import org.openqa.selenium.chrome.ChromeDriver;
    15 import org.openqa.selenium.support.ui.Select;
    16 
    17 class MultipleSelect {
    18 
    19     WebDriver driver;
    20     String url;
    21     
    22     @BeforeEach
    23     void setUp() throws Exception {
    24         driver = new ChromeDriver();
    25         url = "C:\Users\acer\eclipse-workspace\SeleniumPractise\PracticePage.html";
    26         driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    27         driver.manage().window().maximize();
    28         driver.get(url);
    29     }
    30     
    31     @Test
    32     void test() throws Exception {
    33 //        定位多选列表框
    34         WebElement element = driver.findElement(By.id("multiple-select-example"));
    35 //        创建对象
    36         Select select = new Select(element);
    37         
    38         Thread.sleep(2000);
    39         System.out.println("选择第二个多选列表框元素(桔子)");
    40 //        通过标签的value值来选择
    41         select.selectByValue("orange");
    42         
    43         Thread.sleep(2000);
    44         System.out.println("取消选择已经选择的多选列表框元素(桔子)");
    45 //        取消选择的值
    46         select.deselectByValue("orange");
    47 
    48         Thread.sleep(2000);
    49         System.out.println("选择第一个多选列表框元素(苹果)");
    50 //        通过下标索引直接选择
    51         select.selectByIndex(0);
    52 
    53         Thread.sleep(2000);
    54         System.out.println("选择第三个多选列表框元素(桃子)");
    55 //        通过下拉选项的文本值来选择
    56         select.selectByVisibleText("桃子");
    57         
    58         Thread.sleep(2000);
    59         System.out.println("通过集合打印选择状态的多选列表框元素:");
    60 //        打印被选中的选项
    61 //        getAllSelectedOptions返回的是一个list集合,这个方法可以获取到最后被选择的选项然后放到集合中
    62         List<WebElement> ele = select.getAllSelectedOptions();
    63         for(WebElement elem:ele) {
    64 //            打印选项的文本
    65             System.out.println(elem.getText());
    66         }
    67         
    68         Thread.sleep(2000);
    69         System.out.println("取消所有被选择的多选列表框元素:");
    70 //        取消所有被选择的选项
    71         select.deselectAll();
    72     }
    73 
    74     @AfterEach
    75     void tearDown() throws Exception {
    76         Thread.sleep(2000);
    77         driver.quit();
    78     }
    79 }

    运行结果:

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

  • 相关阅读:
    kerberos和hadoop的集成
    kerberos的原理
    Impala与Hive的异同
    为什么hdfs不适合存储小文件
    猛犸数据质量
    CIO的发展之路
    企业数据能力测评:认清现状,布局未来
    企业架构的演变
    其实,他只是个没长大的孩子【复制知乎
    看着自己之前写的便签,想笑
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/10842710.html
Copyright © 2011-2022 走看看