一、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的使用方法的更多相关文章

  1. Xpath 和Css Selector使用

    Xpath是xml的路径语言,就是通过元素的路径来查找标签元素. Xpath直接在火狐浏览器的firebug中练习,49版本一下的火狐才能用firebug插件. Xpath的使用方法 注://*    ...

  2. selenium中Xpath标签定位和cssSelectors定位(优先用cssSelectors)

    二者的区别:xpath 支持角标定位,cssselector不支持 1.XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. xpath支持属性定位,无论是默认属性还是自定 ...

  3. selenium中Xpath轴定位方法

    1.Xpath轴:轴可定义相对于当前节点的节点集. 使用语法:轴名称::节点名称 例://input[@data-value="SXRYNAME"]/parent::td/foll ...

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

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

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

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

  6. Selenium之Css Selector使用方法

    什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议使用火狐浏览器,下载插件,FireFinder.Fire ...

  7. 『心善渊』Selenium3.0基础 — 6、Selenium中使用XPath定位元素

    目录 1.Selenium中使用XPath查找元素 (1)XPath通过id,name,class属性定位 (2)XPath通过标签中的其他属性定位 (3)XPath层级定位 (4)XPath索引定位 ...

  8. 【WEB自动化】【第一节】【Xpath和CSS元素定位】

    目前自动化测试开始投入WEB测试,使用RF及其selenium库,模拟对WEB页面进行操作,此过程中首先面对的问题就是对WEB页面元素的定位,几乎所有的关键字都需要传入特定的WEB页面元素,因此掌握常 ...

  9. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

随机推荐

  1. Raspberry Pi For Windows

    Raspberry Pi ------For Windows Step 1: In order to write the image for SD,we should download and ins ...

  2. adb4robotium跨进程框架抛出InputStream cannot be null的异常的解决方案

    转自:http://blog.csdn.net/qingchunjun/article/details/43448371 之前我写的关于利用adb框架来进行robotium跨进程操作的文章中,有些朋友 ...

  3. 【2】按照Django官网,创建一个web app 创建app/创建相应的数据库表

    1. Creating app $ python manage.py startapp polls That'll create a directory polls, which is laid ou ...

  4. 设计模式学习笔记——Template Method模板方法模式

    可能是最简单的设计模式. 而且你我都用过而不自知. 因为,模板方法模式也者,就是面向对象中的继承.公用部分放在父类,子类继承父类,然后扩展.呵呵.

  5. sanic官方文档解析之websocket(网络套接字)和handle decorators(处理程序装饰器)

    1,websocket(网络套接字) 在websocket上Sanic提供了一种简单使用的抽象化,来设置websocket(网络套接字) from sanic import Sanic from sa ...

  6. DataSnap Mobile Client Tutorial

    One of my customers was having some difficulty following the DataSnap tutorial which can be found he ...

  7. delphi 7中使用idhttp抓取网页 解决假死现象(使用TIdAntiFreezeControl控件)

    在delphi 7中使用idhttp抓取网页,造成窗口无反应的假死状态.通过搜索获得两种方法. 1.写在线程中,但是调用比较麻烦 2.使用delphi 提供的idantifreeze(必须安装indy ...

  8. jsp重写url

    众所周知,使用java web编程出来的网站都是.jsp结尾的,而别人的网站都是以.html结尾的,那么这种效果是怎么实现的呢?就是这篇文章产生的原因,jsp重写url需要设计到第三方架包urlrew ...

  9. UVA-11078(水题)

    题意: 给一个序列,找两个整数a[i],a[j]使得a[i]-a[j]最大; 思路: 从前往后扫一遍;水题; AC代码: #include <bits/stdc++.h> /* #incl ...

  10. 【iOS】KVC 和 KVO 的使用场景

    http://blog.csdn.net/chenglibin1988/article/details/38259865   Key Value Coding Key Value Coding是coc ...