Selenium获取页面指定元素个数
测试需求:
获取页面中下拉框个数,并验证是否与预期个数一致
方法1:因下拉框的tagname属性值为select,可通过获取标签为select的元素来获取下拉框个数
- List<WebElement> elements = driver.findElements(By.tagName("select"));
- int number=elements.size();
- Assert.assertEquals(number,12);//验证是否为12
方法2:因下拉框默认显示“请选择”,可通过获取页面的“请选择”元素来获取下拉框个数。
- List<WebElement> elements = driver.findElements(By.xpath("//*[text()='请选择']"));
- int number=elements.size();
- Assert.assertEquals(number,12);//验证是否为12
xpath用法扩展:
1.contains
driver.findElement(By.xpath("//a[contains(@href, 'logout')]"));
寻找页面中href属性值包含有logout这个单词的所有a元素,其中@后面可以跟该元素任意的属性名。
driver.findElement(By.xpath("//*[contains(text(), '退出')]"));
直接查找页面当中所有的退出二字,根本就不用知道它是个a元素了。这种方法也经常用于纯文字的查找
如果知道超链接元素的文本内容,也可以用
driver.findElement(By.xpath("//a[contains(text(), '退出')]"));
2.starts-with
driver.findElement(By.xpath("//a[starts-with(@class, 'a')]"));
超链接上显示部分或全部文本信息时,可以使用。
寻找class属性以a开头的a元素。其中@后面的class可以替换成元素的任意其他属性.
3.关于网页中的动态属性的定位
a.starts-with
例子:input[starts-with(@id,'ctrl')] 解析:匹配以 ctrl开始的属性值
b.ends-with
例子:input[ends-with(@id,'_userName')] 解析:匹配以 userName 结尾的属性值
c.contains()
例子:Input[contains(@id,'userName')] 解析:匹配含有 userName 属性值
--------------------- 本文来自 朝天椒的夏天 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_15158911/article/details/54926682?utm_source=copy
Selenium获取页面指定元素个数的更多相关文章
- 给HTML页面指定元素添加属性,添加父元素
给HTML页面指定元素添加属性,添加父元素 下面拿一个给富文本中所有的图片增加layer弹窗效果. 思路: 给富文本父元素设置属性. 获取父元素里所有的img 此处用到querySelectorA ...
- selenium 获取页面<input>标签的个数和各个属性的值
获取页面某个标签的数量.id.name.class的值,来辅助定位 List<WebElement> lw =driver.findElements(By.tagName( ...
- 用 DOM 获取页面的元素方法集合
document.getElementById('id名') // 获取页面设置指定 id 的元素 document.getElementsByTagName('标签名') ...
- JS(基础)_总结获取页面中元素和节点的方式
一.前言 1.元素和节点的区别 2.总结获取元素的方式 3.总结获取节点的方式 二.主要内容 1.结点和元素的区别 (1)一些常见基本概念: 文档:document 元素:页面中所有的标签 结点:页面 ...
- selenium获取页面通过样式隐藏获取不到元素解决方案
如图更换图像这个按钮通过bottom:-30px隐藏了,通过如下代码获取不到页面元素,后台会报错 driver.findElement(By.className("js-avator-lin ...
- selenium处理页面select元素
selenium为网页中选择框元素的获取特别引入了一个Select对象, 引入对象的方式: from selenium.webdriver.support.ui import Select 查询文档可 ...
- selenium 滑动页面至元素可见
滚动页面 在自动化操作中,如果web页面过长,而我们需要的元素并不在当前可视页面中,那么selenium就无法对其进行操作:此时,我们就需要像平时操作浏览器一样来滚动页面,使我们需要操作的对象可见! ...
- 获取页面定位元素left top
1原生方法: 第一种方法,比较简单,就是直接通过obj.style.left和obj.style.top,但是有局限性,这种获取的方法只能获取到行内样式的left和top的属性值,不能获取到style ...
- sql获取数组指定元素
需求:获取字符数组1,2,3的第2个元素 方法:通过自定义函数来实现 /* 获取字符串数组某个元素 */ from sysobjects where id = object_id('Get_StrAr ...
随机推荐
- Alpha冲刺(1/4)
队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪些任务:SVN管理工具搭建 展示G ...
- codevs 3304 水果姐逛水果街Ⅰ
这道题可以用ST表过: 题目链接 记录4个数组:maxval[][], minval[][], ans[][], rans[][] maxval[i][j]表示从i号元素开始,长度为(1<< ...
- Note | 论文写作笔记
目录 1. 规范 2. 语法 3. 其他 4. 好图好表 5. 好表达 我们的工作很重要 我们的工作有意义 我们的工作细节 我们怎么组织这篇文章 最终效果出类拔萃 怎么解释我们的成功 写完逐条核对吧. ...
- Dockerfile命令整理
通过Dockerfile只做Docker镜像时,需要用到Dockerfile的命令,收集整理如下,以便后续翻阅参考. FROM 功能为指定基础镜像,并且必须是第一条指令. 如果不以任何镜像为基础,那么 ...
- ASP.NET Core 之 Identity 入门(转载)
原文地址:https://www.cnblogs.com/gongap/p/9504562.html 前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库 ...
- 论文阅读: v-charge项目: 电动车的自动泊车和充电
Abstract AVP服务会缓和电动车现有两个缺点: 有限的行驶范围和很长的充电时间. v-charge用相机和超声波在GPS-denied的区域全自动形式. 这篇paper叙述了下述几方面的优势: ...
- C语言中的scanf与scanf_s 以及循环输入的问题解决
Scanf 在标准C中,scanf提供了键盘输入功能. scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中.与printf函数相同,C语言也允许在使用scanf函数之前不必包含s ...
- LINQ 之 SelectMany
声明:本文为www.cnc6.cn原创,转载时请注明出处,谢谢! 一.第一种用法: public static IEnumerable<TResult> SelectMany<TSo ...
- NET 特性(Attribute)
NET 特性(Attribute) 转自 博客园(Fish) 特性(Attribute):是用于在运行时传递程序中各种元素(比如类.方法.结构.枚举.组件等)的行为信息的声明性标签. 您可以通过使用特 ...
- python3字符串常用操作练习
练习一下字符串的常用操作 #-*- coding:utf-8 -*- #字符串的常用操作 str = "1111 Hell :wo:rld! " #删除头尾所有指定字符串,默认移除 ...