最近有人问到定位问题,基本上我用以下三个方法可解决,但不同的项目使用方法不一样。以下为自己所用的简单记录说明

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的更多相关文章

  1. 超全selenium元素定位XPath、CSS

    说明:在HTML页面中,<p> 是一个标签,<p>hello</p> 是一个元素,元素由一个开始的标签和结束的标签组成.<font color="r ...

  2. selenium2元素定位Xpath和cssSelector

    Selenium2中元素有以下几种定位方法, 常用的有Id,xpath, cssSelector XPATH介绍: XPATH是一种选择器 XPATH在firefox中用firepath验证 XP ...

  3. 自动化测试基础篇--Selenium元素定位

    摘自https://www.cnblogs.com/sanzangTst/p/7457111.html 一.Selenium元素定位的重要性: Web自动化测试的操作:获取UI页面的元素,对元素进行操 ...

  4. Selenium3 + Python3自动化测试系列二——selenium元素定位

    一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元 ...

  5. 页面元素定位 XPath 简介

    页面元素定位 XPath 简介 本文所说的 Xpath 是用于 Selenium 自动化测试所使用到的,是针对XHTML网页而言的一种页面元素的定位表示法. XPath 背景 XPath即为XML路径 ...

  6. selenium元素定位之css选择器

    在selenium元素定位时会用到css选择器选取元素,虽说xpath在定位元素时能解决大部分问题,但使用css选择器选取元素也是一种不错的选择. css相较与xpath选择元素优点如下: 表达式更加 ...

  7. selenium元素定位陷阱规避

    为什么selenium可以在各个浏览器上运行?因为selenium在与各个浏览器驱动执行前,会先把脚本转化成webdriver, webdriver wire协议(一种json格式的协议),这样就与脚 ...

  8. CssSelector之selenium元素定位

    CssSelector是我最喜欢的元素定位方法,Selenium官网的Document里极力推荐使用CSS locator,而不是XPath来定位元素,原因是CSS locator比XPath loc ...

  9. Java + selenium 元素定位(5)之By Xpath

    这篇关于Xpath方法的文章和之前那篇CSS的方法一样,使用前,需要先掌握一些Xpath的相关知识.当然,网上也有各种工具可以帮助我们获取到元素的Xpath,但是这并不代表着我们就可以不用了解Xpat ...

随机推荐

  1. angular2中如何引入scss

    如何在ng2的模块或者组件中引入sass文件? 很简单,两个步骤 1.安装style-loader css加载器 npm install --save-dev style-loader 2.在ts文件 ...

  2. Kafka三款监控工具比较

    在之前的博客中,介绍了Kafka Web Console这个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导致网络阻塞.并且这 ...

  3. 虚拟机ubuntu新增挂载点进行磁盘扩展

    参考: http://m.blog.csdn.net/blog/pcsxk/38501579 一.vmware下扩展原来的磁盘空间 这个比较直观 1.关机状态下,选择磁盘->实用工具->扩 ...

  4. Java 内存溢出(java.lang.OutOfMemoryError)情况总结

    最近做一个项目,因为分了十几个模块,但是每次在Eclipse中启动Tomcat必须加载四五个模块,这样出现了 java.lang.OutOfMemoryError 原因是Eclipse中Tomcat设 ...

  5. tomcat操作

    一.启动 D:\tomcat8.5.9\bin\startup   或者  D:\tomcat8.5.9\bin\catalina start 关闭tomcat: D:\tomcat8.5.9\bin ...

  6. java设计模式-Observe

    一.背景 请模拟下面情形: 小孩在睡觉,醒来后要求吃东西   代码: class Child{ private boolean wakenUp = false; void wakeUp(){ wake ...

  7. 廖雪峰Java1-2程序基础-9数组

    数组初识 1.数组的特点: 数组所有元素初始化默认值,int默认值为0 数组创建后大小不可改变 数组索引从0开始 数组是引用类型 使用索引下标访问数组元素,索引超出范围会报错 2.数组的定义: 类型[ ...

  8. JVM底层又是如何实现synchronized的【转载】

    目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea.本文并不比较synchronized与Loc ...

  9. C语言强化——学生管理系统

    系统模块设计 a.预处理模块 系统在启动时会根据配置文件里的内容去相应文件里去加载账户信息和学生信息. b.登陆模块 输入用户名和密码,输密码的时候用"*" 代表用户当前输入的内容 ...

  10. docker私库harbor的搭建

    1.文件下载 # wget https://storage.googleapis.com/harbor-releases/harbor-online-installer-v1.5.1.tgz 安装官网 ...