元素定位(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类返回的元素 ...
随机推荐
- phpmyadmin低权限getshell
账号:‘localhost’@'@” 密码:为空 可获得一个低权限账号 利用方法: Mysql可以把指定的文件写进表 CREATE TABLE `test`.`a` (`a1` TEXT NOT NU ...
- 关于访问Jira和Confluence服务越来越缓慢的解决办法阐述
Jira和Confluence部署在同一台服务器上,跑一段时间后,发现访问jira和confluence时,打开越来越缓慢.这是因为根据主机物理内存不同,默认的java虚拟机内存也会不同(一个较低值) ...
- [物理学与PDEs]第1章第6节 电磁场的标势与矢势 6.3 例 --- 电偶极辐射
1. 偶极子: 相距为 $l$, 带电量分别为 $\pm q$ 的一对电荷组成的系统. 称 $$\bex {\bf m}=q{\bf l} \eex$$ 为电偶极矩, 其中 ${\bf l}$ 为 $ ...
- tr1
tr echo 12345 | tr '0-9' '9876543210' echo 87654 | tr '9876543210' '0-9' ROT13 echo "tr came, t ...
- Django 多数据库支持
很多时候,需要去其他数据库查询数据,都将会面临多数据库支持问题. 1.在settings文件内添加多数据库连接 DATABASES = { 'default': { 'ENGINE': 'django ...
- 我实在不懂Python的Asyncio
原语 事件循环(Event Loop) Awaitables和Coroutines Coroutine Wrappers Awaitables and Futures Tasks Handles Ex ...
- mybatis基础知识
一.什么是Mybatis 这里借用官网的一句话介绍什么是mybatis:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC ...
- python之鼠标的操作
鼠标操作的方法,封装在ActionChains类中 perform:执行ActionChains中的所有存储行为 context_click:右键单击 move_to_element:悬停 doubl ...
- 基于netty的socket服务端触发了channelInactive方法,但实际连接没有断开的问题
背景: 一个中小型H5游戏,后端使用基于 netty 的socket服务 服务端 分为 分发服务器 & 业务服务器,业务服务器可负载 用户客户端与分发服务器连接 分发服务器再作为客户端与每台业 ...
- 服务器启动socket服务报错 java.net.BindException:Cannot assign requested address
错误信息: 2017-06-13 11:18:00,865 [GateServer.java:82][ERROR]:启动服务出错了java.net.BindException: Cannot ass ...