Xpath是xml的路径语言,就是通过元素的路径来查找标签元素。

Xpath直接在火狐浏览器的firebug中练习,49版本一下的火狐才能用firebug插件。

Xpath的使用方法

注://*   代表页面下的所有元素      *代表所有的可以被其他的标签代替    @后面是属性定位

1、Xpath 支持ID/Class/Name 定位功能

通过ID定位

//*[@id='inner']     查找id =inner的标签

通过Class定位

//*[@class='class1']   查找class=class1的标签

通过Name定位

//*[@type='text']

2、如果标签没有id/class/Name 三种属性,Xpath孩子吃属性定位功能

//*[@value='用户名']     @后面可以跟任何属性

3、当标签属性重复时,Xpath提供了通过标签进行过滤

可以将*换成任意标签名,则可根据标签进行过滤

//input[@palceholder='用户名']

4、当标签页重复时,Xpath提供了层级过滤

跟dom一样找不到child就找兄弟,再不行找爸爸

//div/input[@placeholder='用户名']

当层级都重复时,可以单个层级结合属性定位

//form/div[@class='login-passwd']/input

5、一个元素他的兄弟元素跟他的标签一样,这时候无法通过层级直接定位,但是可以结合下标筛选;

不过Xpath是从1开始的

//form/div[@class='login-passwd']/input[1]

6、Xpath还提供了 and和or 逻辑元算定位

//通过and来缩小过滤的范围,只有条件都符合时才能定位到

//select[@name='city' and @size='4' and @multiple="multiple"]
 
or就相反了,只要这些筛选中,其中一个出现那么久匹配到了
//select[@name='city' or @size='4']

Css Selector使用方法

//xpath运行效率最慢,代码冗余最高的
//Cssselector 推荐(w3cshool byid byname全部转成css运行
//都是Css selector运行)

Css  Selector 定位实际就是HTML的Css选择器的标签定位

css Selector 在火狐浏览器,下载firefinder结合firebug使用

使用方法:

1、Css Selector 支持ID/Class定位与 html中css的定位方法一样

#id  代表id定位

.后面跟class名字带白哦class定位还提供了多个class同时定位

.c1.c2.c3

2、css Selector 支持标签和属叠加定位

input[value='用户名']

还可以标签叠加  id和class使用

input.c1    叠加class

input#i1   叠加id

3、Css  Selector支持杜仲属性组合

Css Selector 的多属性组合选择过滤 没有and 只需要多个[] 连接 就可以

select[name='city'][size='4'][multiple="multiple"]
 
4、支持层级定位
与Xpath的不同 Css Selector通过 > 来区分层级的界定

select>option[value='3']
 
5、支持模糊匹配
 
^= 匹配元素属性以什么开头

input[value^="登"]
$= 匹配属性以什么结尾
input[value$="录"]  
*= 匹配属性包含什么值 input
[value*="录"]

Xpath 和Css Selector使用的更多相关文章

  1. selenium中Xpath和CSS Selector的使用方法

    一.selenium中Xpath的使用方法 1. 什么是xpath? Xpath是XML的路径语言,通俗一点讲就是通过元素的路径来查找这个标签元素 2. 练习Xpath的工具 火狐浏览器,下载插件Fi ...

  2. selenium:css_selector定位详解(css selector和xpath的比较)

    selenium使用css selector和xpath的比较 selenium提供的定位方式(常用) ID NAME CLASS CSS SELECTOR XPATH   推荐的定位方式的优先级 优 ...

  3. Web自动化测试:xpath & CSS Selector定位

    Xpath 和 CSS Selector简介 CSS Selector CSS Selector和Xpath都可以用来表示XML文档中的位置.CSS (Cascading Style Sheets)是 ...

  4. Scrapy学习系列(一):网页元素查询CSS Selector和XPath Selector

    这篇文章主要介绍创建一个简单的spider,顺便介绍一下对网页元素的选取方式(css selector, xpath selector). 第一步:创建spider工程 打开命令行运行以下命令: sc ...

  5. css selector: xpath:

    css selector: $$(".mainLeft>div>h1") xpath: $x(".mainLeft>div>h1") n ...

  6. Selenium - CSS Selector

    Selenium - CSS Selector http://www.cnblogs.com/bugua/archive/2012/08/16/2641647.html   昨天我练习了用CSS(即层 ...

  7. css selector

    文章一: http://www.jb51.net/css/68287.html 去年我学jQuery的时候,曾经做过一点选择器(selector)的笔记,今天是CSS的选择器,以后还有一部分xPath ...

  8. Selenium 使用css selector (资源来源于网络)

    Selenium - CSS Selector 昨天我练习了用CSS(即层叠样式表Cascading Stylesheet) Selector来定位(locate)页面上的元素(Elements).S ...

  9. UI自动化(九)Css Selector

    什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议大家安装火狐浏览器后,下载插件,FireFinder 或 ...

随机推荐

  1. 【异常】org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:

    1 Phoenix远程无法连接但是本地可以连接,详细异常 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found bindin ...

  2. Let's write a framework.

    Let's write a framework. create a model var model={a:1,b:'b'} let's create a router, router maps url ...

  3. Codeforces Manthan, Codefest 18 (rated, Div. 1 + Div. 2) E.Trips

    比赛的时候想到怎么做了 没调出来(感觉自己是个睿智) 给你N个点M条边,这M条边是一条一条加进去的 要求你求出加入每一条边时图中极大'K度'子图的大小 极大'K度'子图的意思是 要求出一个有尽量多的点 ...

  4. JavaScript中数组元素删除的七大方法汇总

    原文链接:https://blog.csdn.net/u010323023/article/details/52700770 在JavaScript中,除了Object之外,Array类型恐怕就是最常 ...

  5. java 文件上传与解析(excel,txt)

    excel上传与解析 https://blog.csdn.net/zsysu_it/article/details/79074067 txt解析 https://blog.csdn.net/CSDNw ...

  6. TCP/IP网络编程系列之一(初级)

    概述 网络编程实际上就是编写程序使两台联网的计算机相互的交换数据.操作系统会提供名为“ 套接字 ”的部件.套接字是网络数据传输的软件设备,即使对网络数据传输原理不太熟悉也无关紧要.我们也能通过套接字完 ...

  7. beautifulsoup4 用法一二

    声明一个beautifulsoup4对象 bs = ( url,//路由 html_parser,//解析html代码 encoding//编码)//另一种请求解析方法 import requests ...

  8. [Atcoder2292] Division into Two

    题目大意 给定n个不同的整数,求将它们分成两个集合X,Y,并且X集合中任意两个数的差>=A,Y集合中任意两个数的差>=B的方案数. 样例输入 5 3 7 1 3 6 9 12 样例输出 5 ...

  9. yum 安装 mongodb

    1 .添加阿里源 vi /etc/yum.repos.d/mongodb.repo [mongodb-org] name=MongoDB Repository baseurl=http://mirro ...

  10. Spring实例化相关问题

    1.当Controller或者Service使用new来实例化时,能不能正常调用使用Resource声明的变量 不能,使用new来实例化时,所有使用Resource声明的变量均为null