Sizzle Css3还提供一些直接选取form表单元素的伪类

  • :input: Finds all input elements (includes textareas, selects, and buttons).
  • :text:checkbox:file:password:submit:image:reset:button: Finds the input element with the specified input type (:button also finds button elements).

下面是一些XPATH和CSS的同义locator比较

定位方式

XPath

CSS

标签

//div

div

By id

//div[@id='eleid']

div#eleid

By class

//div[@class='eleclass']
//div[contains(@class,'eleclass')]

div.eleclass

By 属性

//div[@title='Move mouse here']

div[title=Move mouse here]
div[title^=Move]
div[title$=here]
div[title*=mouse]

定位子元素

//div[@id='eleid']/*
//div/h1

div#eleid >*
div#eleid >h1

定位后代元素

//div[@id='eleid']//h1

div h1

By index

//li[6]

li:nth(5)

By content

//a[contains(.,'Issue 1164')]

a:contains(Issue 1164)

根据子元素回溯定位父元素

//li[a[contains(.,'Issue 1244')]]
//*[./a[contains(.,'Issue 1244')]]
//ul[.//a[contains(.,'Issue 1244')]]

li{a:contains(Issue 1244)}
ul{a:contains(Issue 1244)}

根据邻近元素定位

//li[preceding-sibling::li[contains(.,'Issue 1244')]]
//ul[preceding-sibling::ul[.//a[contains(.,'Issue 1244')]]]

css=li:contains(Issue 1244) + li
css=ul{a:contains(Issue 1244)} ~ ul

 

在selenium中使用css选择器进行元素定位的更多相关文章

  1. [Selenium]中使用css选择器进行元素定位

    参考:http://www.cnblogs.com/webblog/archive/2009/07/07/1518274.html 常见语法 * 通用元素选择器,匹配任何元素 E 标签选择器,匹配所有 ...

  2. Python3.x:Selenium中的webdriver进行页面元素定位

    Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver ...

  3. 使用CSS选择器进行元素定位

    在selenium webdriver中,支持使用CSS选择器来进行元素定位,事实在真的投入工作,大量编辑用例和元素定位的时候,使用css 和 xpath才是经常需要用到的. 之前有专门讲过使用xpa ...

  4. selenium 中在 iframe 内的元素定位

    有些时候 元素明明就在 但是通过什么方式定位都提示 定位不到元素 此时就要考虑元素是不是内嵌在iframe 中 对于内嵌在 ifra中的元素定位 首先定位到 iframe 元素 例如 iframe = ...

  5. python + selenium webdriver 复合型css样式的元素定位方法

    <div class="header layout clearfix"></div> 当元素没有id,没有name,没有任何,只有一个class的时候,应该 ...

  6. selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)

    跟你说,你总是靠那个firebug,chrome的F12啥的右击复制xpath绝对总有一天踩着地雷炸的你死活定位不到,这个时候就需要自己学会动手写xpath,人脑总比电脑聪明,开始把xpath语法给我 ...

  7. Selenium基础知识(8大元素定位概说)

    1. By.name() 页面源码如下: [html] : <button id="gbqfba"aria-label="Google Search" n ...

  8. Selenium(五):CSS选择器(二)

    1. CSS选择器 1.1 选择语法联合使用 CSS selector的另一个强大之处在于:选择语法可以联合使用. html代码: <div id='bottom'> <div cl ...

  9. Selenium(四):CSS选择器(一)

    1. CSS选择器 前面我们学习了根据 id.class属性.tag名选择元素. 如果我们要选择的元素没有id.class 属性,或者有些我们不想选择的元素也有相同的id.class属性值,怎么办呢? ...

随机推荐

  1. C#学习笔记(3)——操作sqlserver数据库增删改查

    说明(2017-5-25 16:29:35): 1. VS2010,视图->服务器资源管理器->数据连接->右键添加连接->服务器名(本机可以用点)->选择数据库-> ...

  2. 3. 支持向量机(SVM)拉格朗日对偶性(KKT)

    1. 感知机原理(Perceptron) 2. 感知机(Perceptron)基本形式和对偶形式实现 3. 支持向量机(SVM)拉格朗日对偶性(KKT) 4. 支持向量机(SVM)原理 5. 支持向量 ...

  3. BI-LSTM-CRF在序列标注中的应用

    1. 前言 在NLP中有几个经典的序列标注问题,词性标注(POS),chunking和命名实体识别(NER).序列标注器的输出可用于另外的应用程序.例如,可以利用在用户搜索查询上训练的命名实体识别器来 ...

  4. Java局部打印的问题

    项目中遇到了做局部打印的情况,最开始用的bootstrap,可是实际显示的和打印的效果就不一样了,于是就只能换一种方式了. 打印是用的jqprint 这个插件,很简单好用的插件. 引入两个js就可以了 ...

  5. Sphinx/Coreseek 4.1的安装流程

    yum install mysql-devel libxml2-devel expat-devel cd /data/software/ wget http://www.coreseek.cn/upl ...

  6. Virtual DOM 虚拟DOM的理解(转)

    作者:戴嘉华 转载请注明出处并保留原文链接( #13 )和作者信息. 目录: 1 前言 2 对前端应用状态管理思考 3 Virtual DOM 算法 4 算法实现 4.1 步骤一:用JS对象模拟DOM ...

  7. <第一次买基金就赚钱>读书笔记

    基金,是指专门用于某种特定目的的并进行独立核算的资金 基金的开放日指基金契约规定的投资者可以在销售网点办理基金申购.赎回交易业务的日期 基金资产总值是指一个基金所拥有的资产(包括现金.股票.债券和其他 ...

  8. tomcat出现的PermGen Space问题<转>

    最近做项目碰到了让我纠结的问题,tomcat服务器运行一段时间,总是会自动报异常:java.lang.OutOfmemoryError: PermGen Space 的错误,导致项目无法正常运行. 出 ...

  9. [转]C# RichTextBox不用滚动条

    转自:http://blog.csdn.net/happy09li/article/details/7444912 第一种思路: richTextBox1.ScrollBars = RichTextB ...

  10. Redis哈希

    Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型 在Redis中的哈希值,可存储超过400十亿键值对. 例子 redis 127.0.0.1:6379> HM ...