章节十一、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”问我,群里都是软件行业的小伙伴相互一起学习。

原文地址:https://www.cnblogs.com/luohuasheng/p/10842710.html

时间: 2024-08-30 13:32:16

章节十一、8-操作多选列表框的相关文章

multiselect2side:jQuery多选列表框插件

http://blog.csdn.net/rosanu_blog/article/details/8550723 http://www.bkjia.com/jQuery/449193.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html x

C#列表框、复选列表框、组合框的用法实例

本文实例讲述了C#列表框.复选列表框.组合框的用法.分享给大家供大家参考.具体分析如下: 功能实现效果如下图所示: 实现代码: 1.声明相关变量存储专业.课程设置及相关信息: 代码如下: string gr, msg, xy; string[] spec, cour1, cour2, cour3, cour4, cour5; 2.在Form1类中自定义函数bool checkGR()检查学生信息: 代码如下: private bool checkGR() { bool check = true;

第9章 子窗口控件_9.4-9.6滚动条类、编辑框类、列表框类

9.4 滚动条类 9.4.1 滚动条控件 (1)窗口滚动条与滚动条控件的比较 窗口滚动条 滚动条控件 消息 发送WM_VSCROLL.WM_HSCROLL消息.不发送WM_COMMAND消息.wParam参数的意义是一样的.lParam:当消息来自窗口滚动条时为NULL,来自滚动条控件时为滚动条的句柄. 宽度或高度 固定大小 //水平滚动条高度 GetSysMetrics(SM_CYHSCROLL); //垂直滚动条宽度 GetSysMetrics(SM_CYVSCROLL) 1.大小.位置均可

列表框、分组列表框、标签(label)、分组框(fieldset)、框架(frameset)

列表框(select) 下拉列表,用户可以从一些可选项中选择. 示例:简单的下拉列表 <select name="country"> <option value="America">美国</option> <option value="China" selected="selected">中国</option> <option value="India

下拉框与列表框

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

DOM访问HTML元素的方式,DOM访问表单控件的常用属性和方法,DOM访问列表框、下拉菜单的常用属性,DOM访问表格子元素的常用属性和方法,DOM对HTML元素的增删改操作

DOM访问HTML元素的方式 为了动态地修改HTML元素,须先访问HTML元素.DOM主要提供了两种方式来访问HTML元素: 根据ID访问HTML元素:通过document对象调用getElementById()方法来查找具有唯一id属性值的元素. 利用节点关系访问HTML元素.常用的属性和方法如下: parentNode 返回当前节点的父节点 previousSibling 返回当前节点的前一个兄弟节点 nextSibling 返回当前节点的后一个兄弟节点 childNodes 返回当前节点的

[备忘]不用许可证 多线程直接操作界面组件比如超级列表框的实现

平时多线程来操作界面组件 同时写入或者修改数据  比如常见的把多个线程都把日志同时写入到编辑框 又或者 多个线程同时的修改一个超级列表框上的线程状态和其他信息 这样会出现一个问题 如何避免多个线程同时操作一个组件导致的组件冲突问题 我们常用的是使用许可证来给每个线程规定访问顺序来依次执行 不过这样的调整的确从效率上说很低下 大漠老师使用 发送消息 或者说是使用window消息机制来实现不加许可证的同时修改界面组件的思路非常好 511遇见老师也对这个思路进行了深度解析 已经非常的详细了http:/

对jquery操作复选框

摘要:jquery操作复选框.使用更简洁易懂,思路清晰,逻辑更明了,很实用 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="jquery-1.11.2.min.js"></script><!--引入jquery-1.11.2.min.js要在最上面--

jQuery 操作复选框(checkbox) attr checked不起作用

jQuery 更改checkbox的状态,无效 $(this).attr("checked", false).checkboxradio("refresh");     //应该这么写吧,少了$这个东东~~~跟js混淆了 jQuery 操作复选框(checkbox) attr checked不起作用 这 天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现 attr(‘checked’,'checked’);与attr(‘checked’,t