selenium中Xpath和CSS Selector的使用方法
一、selenium中Xpath的使用方法
1. 什么是xpath?
Xpath是XML的路径语言,通俗一点讲就是通过元素的路径来查找这个标签元素
2. 练习Xpath的工具
火狐浏览器,下载插件FireBug和FirePath
3. Xpath使用方法
注:默认死格式,先写//*代表定位页面下的所有元素
(1)Xpath支持ID、class和name定位功能
通过id定位: //*[@id='i1']
通过class定位://*[@class='classname']
通过name定位: //*[@name='name']
(2)如果便签没有id,class和name三个综述性,Xpath还支持属性定位功能
@代表以属性定位,后面看而已接标签中的任意属性,比如:
//*[@placeholder='请通过XPATH定位元素']
(3)当标签的属性重复时,Xpath提供了通过标签来进行过滤,//input显示所有的input标签
//input[@placeholder='请通过XPATH定位元素']
(4)当标签页重复时,Xpath提供了层级过滤
例如:找不到儿子,那么久先找他的父级,实在不行可以找他的祖父级
//div/div[@id='dis']
(5)当层级都重复时,可以通过单个层级的属性进行定位
//div/div[@id='w']/div
(6)一个元素它的兄弟元素跟它的标签一样,这时候无法通过层级定位,因为都是一个父亲生的,多胞胎儿子,Xpath提供了索引过滤,索引从1开始,而非0
//select[2]
(7)上面几种如果都用上了惠州还重复,我们就可以使用Xpath提供的终极神器,逻辑运算定位。and或or
//select[@name='city' and @size='4']
//select[@name='city' or @size='4']
二、selenium中CSS Selector的使用方法
1. 什么是CSS Selector?
CSS Selector定位实际就是HTML的CSS选择器的标签定位
2. 工具
火狐浏览器,下载插件FireBug和FirePath
3. CSS Selector的使用方法
(1)Css selector支持id、class的定位,与html中的css定位相同
通过id定位 #i1
通过class定位 .classname
通过class定位多个class .classname.c2.c3
(2)通过属性定位,Css Selector支持任意属性定位
[name='name']
(3)单单属性定位不足以满足我们的定位需求,Css Selector提供了标签属性组合定位
input[name='name'] input标签下name属性等于‘name’的
input#i1 input标签下id是i1的
input.classname input标签下class是classname的
div.inner>input div标签下class是inner的 带有input标签的(注意尖角号)
Div.inner下有多个,但是不能用索引定位,要结合尖角号+属性使用
(4)Css selector多属性组合过滤,没有and,只需要多个[]连接就可以
select[name='city'][size='4'][multiple='multiple']
(5)Css selector模糊匹配
^= 匹配元素属性以什么开头 input[value^="登"]
$= 匹配属性以什么结尾 input[value$="录"]
*= 匹配属性包含什么值 input[value*="录"]
selenium中Xpath和CSS Selector的使用方法的更多相关文章
- Xpath 和Css Selector使用
Xpath是xml的路径语言,就是通过元素的路径来查找标签元素. Xpath直接在火狐浏览器的firebug中练习,49版本一下的火狐才能用firebug插件. Xpath的使用方法 注://* ...
- selenium中Xpath标签定位和cssSelectors定位(优先用cssSelectors)
二者的区别:xpath 支持角标定位,cssselector不支持 1.XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. xpath支持属性定位,无论是默认属性还是自定 ...
- selenium中Xpath轴定位方法
1.Xpath轴:轴可定义相对于当前节点的节点集. 使用语法:轴名称::节点名称 例://input[@data-value="SXRYNAME"]/parent::td/foll ...
- selenium:css_selector定位详解(css selector和xpath的比较)
selenium使用css selector和xpath的比较 selenium提供的定位方式(常用) ID NAME CLASS CSS SELECTOR XPATH 推荐的定位方式的优先级 优 ...
- Web自动化测试:xpath & CSS Selector定位
Xpath 和 CSS Selector简介 CSS Selector CSS Selector和Xpath都可以用来表示XML文档中的位置.CSS (Cascading Style Sheets)是 ...
- Selenium之Css Selector使用方法
什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议使用火狐浏览器,下载插件,FireFinder.Fire ...
- 『心善渊』Selenium3.0基础 — 6、Selenium中使用XPath定位元素
目录 1.Selenium中使用XPath查找元素 (1)XPath通过id,name,class属性定位 (2)XPath通过标签中的其他属性定位 (3)XPath层级定位 (4)XPath索引定位 ...
- 【WEB自动化】【第一节】【Xpath和CSS元素定位】
目前自动化测试开始投入WEB测试,使用RF及其selenium库,模拟对WEB页面进行操作,此过程中首先面对的问题就是对WEB页面元素的定位,几乎所有的关键字都需要传入特定的WEB页面元素,因此掌握常 ...
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景 在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...
随机推荐
- 基于DM642 RAW采集格式的视频驱动开发及应用
摘 要:为解决C64X系列数字信号处理器(DSP)视频驱动不能应用于原始数据格式(RAW)采集格式的问题,设计了DM642和电耦合元件(CCD)高清传感器的数据传输接口,并分析.修改用于标准格式的视频 ...
- debian apt-get工作的原理
1 apt-get update apt-get update并没有将远程仓库的包都下载到本地,而是通过访问远程仓库创建或者更新了远程仓库的本地索引,索引文件放在/var/lib/apt/lists目 ...
- LOJ#139. 树链剖分
LOJ#139. 树链剖分 题目描述 这是一道模板题. 给定一棵$n$个节点的树,初始时该树的根为 1 号节点,每个节点有一个给定的权值.下面依次进行 m 个操作,操作分为如下五种类型: 换根:将一个 ...
- Deep Learning 36:python中的一些函数
1.map(function, sequence[, sequence, ...])函数:返回一个list作用:map的作用是以参数序列中的每一个元素调用function函数,返回包含每次functi ...
- golang-----golang sync.WaitGroup解决goroutine同步
go提供了sync包和channel来解决协程同步和通讯.新手对channel通道操作起来更容易产生死锁,如果时缓冲的channel还要考虑channel放入和取出数据的速率问题. 从字面就可以理解, ...
- 汉字与区位码互转(天天使用Delphi的String存储的是内码,Windows记事本存储的文件也是内码),几个常见汉字的各种编码,utf8与unicode的编码在线查询,附有读书笔记 good
汉=BABA(内码)=-A0A0=2626(区位码)字=D7D6(内码)=-A0A0=5554(区位码) 各种编码查询表:http://bm.kdd.cc/ 汉(记住它,以后碰到内存里的数值,就会有敏 ...
- hdu 1514 Free Candies 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1514 题目意思:有4堆糖果,每堆糖果有n个,从上到下排好,取糖果只能从上往下取,取完的糖果放在篮子里, ...
- 书写优雅的shell脚本(插曲)- /proc/${pid}/status
Linux中/proc/[pid]/status详细说明 博客分类: OS Linux多线程 [root@localhost ~]# cat /proc/self/status Name: cat ...
- Android 获取View宽度
/***************************************************************************** * Android 获取View宽度 * ...
- POJ3304:Segments (几何:求一条直线与已知线段都有交点)
Given n segments in the two dimensional space, write a program, which determines if there exists a l ...