一、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. linux led子系统(二)

    对于led子系统中,有那么多得trigger,下面就来简单了解下. 1.default-on static void defon_trig_activate(struct led_classdev * ...

  2. sqlldr的用法

    在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 ...

  3. NettyIO

  4. react Native 踩坑记录

    应用 1 安卓打包 经验 解决方案 ,官方 解决方案 2 调试 用 React-Native-Debugger 教程 3 微信分享和登录 使用 react-native-wechat    地址 设计 ...

  5. linq to xml There are multiple root elements.

    添加xml结点的时候 var temp2 = temp1.Element("staticContent"); if (temp2 != null) { string str = & ...

  6. js中获取时间new date()的用法 获取时间:

    获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getF ...

  7. 完美解决pip install scrapy,安装Scrapy错误:Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

    1,在Python3.6 安装Scrapy 出现以下报错 2,错误分析 红色报的错误指向的是Twisted 1,Twisted 没安装上 2,Twisted 没安装成功 3,Twisted 版本与Py ...

  8. trying to draw too large(106,975,232 bytes) bitmap.

    Loading Large Bitmaps Efficiently This lesson teaches you to Read Bitmap Dimensions and Type Load a ...

  9. flask logging 最佳实践

    flask项目中, 你可以使用python 的 logging模块实现记录日志. 也可以使用 flask 基于logging模块封装过的app.logger实现. 直接上代码 config.py im ...

  10. python 高性能web框架 gunicorn+gevent

    参考链接: http://rfyiamcool.blog.51cto.com/1030776/1276364/ http://www.cnblogs.com/nanrou/p/7026789.html ...