区别:1、XPATH中的直接子元素是使用“/”定义的,而在CSS上,它是使用“>”定义的。如果一个元素在另一个元素的内部(子元素或者孙元素),则它在XPATH中使用“//”定义,而在CSS中仅使用空格定义。
本教程操作环境:windows7系统、css3版、Dell G3电脑。
xpath常见的定位方法
xpath定位和css定位对比
立即学习“前端免费学习笔记(深入)”;
实际项目中使用较多的是xpath定位和css定位。XPath是XML文档中查找结点的语法,换句话就是通过元素的路径来查找这个元素。xpath比较强大,而css选择器在性能上更优,运行速度更快,语法上更简洁。比较两种方法:
直接子元素
XPATH中的直接子元素是使用“/”定义的,而在CSS上,它是使用“>”定义的。
XPATH://div/inputCSS: div>input
登录后复制
后代元素
如果一个元素在另一个元素的内部(子元素或者孙元素),则它在XPATH中使用“//”定义,而在CSS中仅使用空格定义。
XPATH://div//inputCSS: div input
登录后复制
ID定位
XPATH中的元素id使用以下内容定义:”[@id=‘kw’]”,而在CSS中使用:”#kw”。
XPATH://input[@id='kw']CSS: input#kw
登录后复制
【推荐教程:CSS视频教程 】
CLASS定位
对于class属性,XPATH类似id,而CSS中用一个点表示。
XPATH://input[@class="s_ipt"]CSS: input.s_ipt
登录后复制
弟弟元素:following-sibling 继兄弟
这对于表单元素非常有用,即页面中位于同一父节点内的下一个相邻元素。
XPATH://input[@class="s_ipt"]/following-sibling::aCSS:input[class="s_ipt"]+a
登录后复制
哥哥元素:preceding-sibling 前兄弟
页面中位于同一父节点内的上一个相邻元素。
XPATH://a[@name='tj_baike']/preceding-sibling::aCSS:无法实现
登录后复制
父节点元素
页面中位于一个节点的上级元素。
XPATH: //input/parentCSS: 无法实现
登录后复制
属性值
我们可以根据任何属性值定位元素。
XPATH: //input[@name='username']CSS: input[name='username']
登录后复制
多个属性值
我们甚至可以通过多个属性来定位元素。
XPATH: //input[@name='rsv_spt' and @value="1"]CSS: input[name='login'][type='submit']
登录后复制
第一个子元素
XPATH: //div[@id='u1']/a[1]CSS: div#u1 a:first-child
登录后复制
最后一个子元素
XPATH: //div[@id='u1']/a[last()]CSS: div#u1 a:last-child
登录后复制
第二个子元素
XPATH: //div[@id='u1']/a[2]CSS: div#u1 a:nth-child(2)
登录后复制
模糊匹配
selenium中允许使用^=,$=或*=进行部分字符串匹配。
登录后复制
^=匹配前缀
XPATH: input[starts-with(@id,'user')]CSS: input[id^='user']
登录后复制
$=匹配后缀
XPATH: input[ends-with(@id,'name')]CSS: input[id$='name']
登录后复制
*=匹配包含
XPATH: input[contains(@id,'sernam')]CSS: input[id*=sernam]
登录后复制
更多编程相关知识,请访问:编程视频!!
以上就是xpath定位和css定位的区别是什么的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2954217.html