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

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. JavaScript 继承总结

    http://blog.csdn.net/yincheng01/article/details/6841953 Metro C++ http://www.cnblogs.com/michaelxu/a ...

  2. dashboard无法查到endpoint, counter

    问题 使用Open-falcon时,Agent 推送metrics后,无法在Dashboard上显示.将Agent的hostname 修改后,却可以. 解决办法 查看Agent log,推送到tran ...

  3. spark-streaming-kafka-0-8 和 0-10的使用区别

    一.spark-streaming-kafka-0-8_2.11-2.0.2.jar 1.pom.xml <!-- https://mvnrepository.com/artifact/org. ...

  4. js中return ,return true,return false;区别

    js中return:.return true.return false;区别 转:https://www.cnblogs.com/camikehuihui/p/7999537.html 一.返回控制与 ...

  5. Hiero的spreadsheet中添加tag属性列

    Hiero在对剪辑线上的item进行管理的时候,往往会添加能多tag,而在管 理面板spreadsheet中却无法对tag进行查询,这是一件很麻烦的事,Hiero Development Guide中 ...

  6. elasticsearch mysql logstash 同步 简单配置【环境centos7 elasticsearch 6.0 mysql 5.7 logstash 6.0】

    插件:logstash-input-jdbc 安装插件logstash-input-jdbc 1.安装 gem   yum install gem 2.替换国内的镜像   gem sources -- ...

  7. Java封装案例

    ---恢复内容开始--- 在类的getter/setter方法中在getter方法中要先实列话 在构造方法中无参构造(必须要构造)好处很多!!! 描述学生信息及相关联的专业信息 把Subject和St ...

  8. servet概述

    1定义 Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. 使用 Servl ...

  9. Winfrom窗体无法关闭问题--检查是否存在重写

    问题描述: Winfrom窗体无法关闭问题----点击关闭/最大/最小化无法正常相应. 问题来源: 老版本的程序要求使用无边框的Form窗体(实现功能——设置为无边框窗体并重写窗体的关闭.最大.最小化 ...

  10. neo4j---删除关系和节点

    本文转载自:https://blog.csdn.net/chenjf0221/article/details/70238695 删除节点和节点关系 MATCH (a:key)-[r:KEY_WORD] ...