元素定位(d4-2)
一,元素定位①优先级:首先选择id,其次选class,再就是根据其他唯一元素,在更加层级过滤定位,根据多属性定位,②首选CSS定位,在选XPATH定位
1.xpath定位
//* 获取当前网页全部元素
//*[@id='i1'] 定位id为i1的元素,@后面接属性名
//*[@placeholder='请通过ID定位元素'] 页面中所有元素都可以通过标签中唯一属性名来定位
//input[@placeholder='请通过ID定位元素'] 把*换为input,即可通过tagname可以缩减查找范围.
//input[@class='classname'] 通过class来定位元素
//div[@class='inner'][1] 定位到多个元素的情况下 , 可以通过角标来定位到哪一个元素 定位不到元素的情况下可使用该种方式(下标),弊端是维护成本高
//div[@class='driver'][1]/div[@class='inner'][1] 第一层为//div[@class='driver'][1],第二层为div[@class='inner'][1] ,多层之间链接用反斜杠/,逐层定位元素
//input[@class='classname' and @placeholder='请通过CLASSNAME定位元素'] 多元素定位用and 连接
2.document:document obj modle 文档对象模型,把看到的HTML代码变为一个对象
JS:是一种脚本语言,给页面增加逻辑,通过dom来完成对页面的操作
JQ和DOM的区别,jq根据id获取元素简单,对dom进行封装,使用起来更加简便
xpath:通过路径解析页面,是一个缩减范围的过程,解析的是xml
三,CSS定位:css selector解析的是html,比起xpath更加快捷,不支持角标定位
定位方式和html选择器一样
#i1:定位id直接用#(#id值)
.classname:定位class用.
input:定位标签直接输入标签名
input[placeholder="请通过ID定位元素"]:单元素定位,注意和xpth的区别没有@号
select[size="4"][multiple="multiple"]:多元素定位直接加上[][]加上就行,注意也没有@号
body>div[id="basebody"]: 逐层定位使用大于好>,注意层级中必须使用属性
2.css.selector定位 略简单与xpath
#i1 直接定位到id为i1的元素位置
.classname 直接定位到class等于chassname的元素,注意前面的点
[name="name"] 单属性定位,元素中有name="name"可直接定位
[name="name"][type="text"] 多属性定位
input[name="name"] 同样可在前面加上标签缩减定位范围
input[placeholder^='请通过'] 模糊开头匹配,注意上尖角号
input[placeholder$='元素'] 模糊结尾匹配,注意$号
input[placeholder*='元素'] 模糊全匹配,注意*号
元素定位(d4-2)的更多相关文章
- selenium元素定位篇
Selenium webdriver是完全模拟用户在对浏览器进行操作,所有用户都是在页面进行的单击.双击.输入.滚动等操作,而webdriver也是一样,所以需要我们指定元素让webdriver进行单 ...
- Uiautomator--Uiselector元素定位
一.UiSelector作用 按照一定的条件(例如控件的text值,资源id),定位界面上的元素.UiSelector对象的最终目的是去构造一个UiObject对象. 二.元素定位 1.根据text定 ...
- selenium使用笔记(三)——元素定位
selenium进行自动化测试的一个很重要的东西那就是元素定位,如果元素都没法定位就无法操作它,也就无法进行自动化测试了.网上对于元素定位有很多的介绍,很详细很详细的,但是依然有很多新手总是会遇到无法 ...
- java selenium (五) 元素定位大全
页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法. 测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 ...
- CSS元素定位6-10课
<精通CSS.DIV网页样式与布局>视频6-10课总结图: 元素定位 (1)float:left/right; 左浮动:脱离普通文档流向左浮动(即向左对齐):float属性必须应用在块级元 ...
- python学习之——selenium元素定位
web自动化测试按步骤拆分,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 其中定位元素尤为关键,此篇是使用webdriver通过页面各个 ...
- python + selenium相关事件和元素定位
女友由于工作上的失误,将公司RDM中的某一字段的2000条数据给删除了.....就算是重新添加字段,但是与其他数据的关联性已经不在了.由于每天的数据修改量大,有关部门不愿意恢复数据库,因此只能一条条的 ...
- Selenium定位一 --单个元素定位方法
Selenium-Webdriver 提供了强大的元素定位方法,支持以下三种方法. 单个对象的定位方法 多个对象的定位方法 层级定位 定位单个元素在定位单个元素时,selenium-webdriver ...
- Selenium2+python自动化6-八种元素元素定位(Firebug和firepath)
前言 自动化只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇主要讲如何用firefox辅助工具进行元素定位. 元素定位在这四个环节中是至 ...
- Selenium Webdriver元素定位的八种常用方式
楼主原创,欢迎学习和交流,码字不容易,转载请注明出处,谢谢. 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素 ...
随机推荐
- Numpy 系列(十一)- genfromtxt函数
定义输入 genfromtxt的唯一强制参数是数据的源.它可以是字符串,字符串列表或生成器.如果提供了单个字符串,则假定它是本地或远程文件或具有read方法的打开的类文件对象的名称,例如文件或Stri ...
- crm 权限设计
先在项目中创建 app rbac的models.py from django.db import models class Permission(models.Model): "" ...
- burp Suite 模块Authz 使用方法
这个模块是朋友告诉我的,然后进行了研究使用方法. 以下为个人理解,如有错误感谢各位纠正. 0x00 安装Authz Extender > BApp Store > Authz > i ...
- 在vue中引入scss
先npm安装stylus和stylus-loader (我安装后,报错提示缺少stylus,所以第一步安装stylus,如果没有提示可省略第一步) 1.到 package.json ----- de ...
- 迅为iTOP-4418/6818开发板-驱动-实现GPIO扩展
实现 GPIO 扩展,先弄清楚“复用”的概念,将调用这些 GPIO 的驱动去掉配置,重新编译,加到自己的驱动中,就可以实现扩展的 GPIO 的输入和输出.另外必须要先看文档“迅为iTOP-4418开发 ...
- 第三节,目标检测---R-CNN网络系列
1.目标检测 检测图片中所有物体的 类别标签 位置(最小外接矩形/Bounding box) 区域卷积神经网络R-CNN 模块进化史 2.区域卷积神经网络R-CNN Region proposals+ ...
- dos.orm
引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...
- Visual Studio 2015中 没有“安装和部署”的解决方法
使用Visual Studio 2015 Community新建项目,在已安装模板中的“其它项目类型”下未找到“安装和部署”选项.在微软官网下载 Microsoft Visual Studio 201 ...
- iOS rebuild from bitcode对ipa大小的影响
https://developer.apple.com/library/content/technotes/tn2432/_index.html 为了测试一下rebuild from bitcode的 ...
- linux 乌班图 lnmp环境搭建
1.#安装Apache2,目前163的源是2.2.22版本02.sudo apt-get install apache203. 04.#安装MySQL,目前163的源是5.5.24版本05.apt-g ...