selenium元素定位Xpath,Contains,CssSelector
最近有人问到定位问题,基本上我用以下三个方法可解决,但不同的项目使用方法不一样。以下为自己所用的简单记录说明
1、Xpath
经常使用且最能解决问题的定位
driver.findElement(By.xpath("//button[@seleniumpath='shareBtn']")).click();
driver.findElement(By.xpath("//div[@seleniumpath='shareBtn']")).click(); 很多人喜欢用这样的定位方法,不推荐使用,如:
driver.findElement(By.xpath("//div[@seleniumpath='shareBtn']/div/[3]div[2]/table/tr/td/div[3]/button[2]")).click();
定位表达式越简单越好,太复杂一旦js改变或者html改变则整个项目基本就会重写。因此需要如下定位可辅助实现增加效率 2、Contains
中文和英文项目都使用的定位方法。--英文为例(如图)
driver.findElement(By.xpath("//div[contains(text(),'modifyFilterTest002')]")).click();
3、CssSlector
使用框架:react
在此框架上我们使用CssSlector来定位非常方便,但如果框架改变我们则需要根据框架来改变我们的定位方式
driver.findElement(By.cssSelector("#loginForm > div.form-group.username.control-group > div > input")).sendKeys(user.getEmailAddress());
#loginForm > div.form-group.username.control-group > div > input --使用操作方法获取
user.getEmailAddress()--bean中初始化get方法,获取来源为test case的email地址 操作方法:
更多交流关注自动化分享群:537188253
selenium元素定位Xpath,Contains,CssSelector的更多相关文章
- 超全selenium元素定位XPath、CSS
说明:在HTML页面中,<p> 是一个标签,<p>hello</p> 是一个元素,元素由一个开始的标签和结束的标签组成.<font color="r ...
- selenium2元素定位Xpath和cssSelector
Selenium2中元素有以下几种定位方法, 常用的有Id,xpath, cssSelector XPATH介绍: XPATH是一种选择器 XPATH在firefox中用firepath验证 XP ...
- 自动化测试基础篇--Selenium元素定位
摘自https://www.cnblogs.com/sanzangTst/p/7457111.html 一.Selenium元素定位的重要性: Web自动化测试的操作:获取UI页面的元素,对元素进行操 ...
- Selenium3 + Python3自动化测试系列二——selenium元素定位
一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元 ...
- 页面元素定位 XPath 简介
页面元素定位 XPath 简介 本文所说的 Xpath 是用于 Selenium 自动化测试所使用到的,是针对XHTML网页而言的一种页面元素的定位表示法. XPath 背景 XPath即为XML路径 ...
- selenium元素定位之css选择器
在selenium元素定位时会用到css选择器选取元素,虽说xpath在定位元素时能解决大部分问题,但使用css选择器选取元素也是一种不错的选择. css相较与xpath选择元素优点如下: 表达式更加 ...
- selenium元素定位陷阱规避
为什么selenium可以在各个浏览器上运行?因为selenium在与各个浏览器驱动执行前,会先把脚本转化成webdriver, webdriver wire协议(一种json格式的协议),这样就与脚 ...
- CssSelector之selenium元素定位
CssSelector是我最喜欢的元素定位方法,Selenium官网的Document里极力推荐使用CSS locator,而不是XPath来定位元素,原因是CSS locator比XPath loc ...
- Java + selenium 元素定位(5)之By Xpath
这篇关于Xpath方法的文章和之前那篇CSS的方法一样,使用前,需要先掌握一些Xpath的相关知识.当然,网上也有各种工具可以帮助我们获取到元素的Xpath,但是这并不代表着我们就可以不用了解Xpat ...
随机推荐
- MySQL 的日期类型有5个,分别是: date、time、year、datetime、timestamp。
类型 字节 格式 用途 是否支持设置系统默认值 date 3 YYYY-MM-DD 日期值 不支持 time 3 HH:MM:SS 时间值或持续时间 不支持 year 1 YYYY 年份 不支持 da ...
- SyntaxError: Non-ASCII character '\xe4' in file t.py on line 3, but no encoding declared
问题 报错代码 #!/usr/bin/python s = "你好" print s 执行报错: File "t.py", line 3 SyntaxError ...
- Flume和Kafka整合安装
版本号: RedHat6.5 JDK1.8 flume-1.6.0 kafka_2.11-0.8.2.1 1.flume安装 RedHat6.5安装单机flume1.6:http://b ...
- xcode Xcode_9.2.xip 官方离线下载地址
一.打开下面的链接 https://developer.apple.com/downloads/ 二.在左侧搜索框中搜索:xcode 三.展开你要下载的版本,点列表右边的蓝色链接如:Xcode 9.2 ...
- Digispark红外接收器
一.红外协议之NEC协议原理 NEC协议格式: 首次发送的是9ms的高电平脉冲,其后是4.5ms的低电平,接下来就是8bit的地址码(从低有效位开始发),而后是8bit的地址码的反码(主要是用于校验是 ...
- Set up an SSH key with Sourcetree on macOS
1. 打开 sourcetree,进入设置-账户: 2. 选择添加账户,托管主机选择 Bitbucket(或Github),再连接账号,登录已有的 Bitbucket 账号(或 Github 账号), ...
- webservice的model层命名空间不同的问题
[XmlType(Namespace = "http://tempuri.org/MyClass4")] [XmlRoot(Namespace = "ht ...
- 宝塔linux面板运行jsp文件的配置工作
第一步宝塔安装和软件安装我们先安装宝塔面板(这个不需要我说咋弄吧) 安装完成后登录到宝塔面板然后安装软件我个人喜欢nginx最新版,mysql由于服务器配置很菜所以没发装56,php什么的我用不到就没 ...
- 黄聪:浓缩的才是精华:浅析GIF格式图片的存储和压缩(转)
http://www.cnblogs.com/qcloud1001/p/6647080.html 成文迪, 在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦. GIF格式 ...
- 分布式消息队列RocketMQ--事务消息--解决分布式事务
说到分布式事务,就会谈到那个经典的”账号转账”问题:2个账号,分布处于2个不同的DB,或者说2个不同的子系统里面,A要扣钱,B要加钱,如何保证原子性? 一般的思路都是通过消息中间件来实现“最终一致性” ...