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. myeclipse开发安装C++

    经过若干google之后(百度就不用说了),又经过了若干尝试,终于用最简单的步骤配起来了.(一些比较旧的文章写的太繁杂了,随着各个工具的升级,搭建环境很简单了).        前言:写博客不是为了炫 ...

  2. [培训]keysight培训

    DDR DDR->DDR2->DDR3->DDR4->DDR5->HBM, LPDDR(low power DDR)

  3. at91 看门狗

    看 门狗的驱动一般来说比较简单,只要做寄存器的设置实现开启.关闭.喂狗功能.本项目中我们使用的是at91sam9g45处理器,带有看门狗定时器.这个 看门狗的驱动却比较复杂,应用层想用它的话,将涉及到 ...

  4. Android——ContentProvider

    xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...

  5. DevExpress控件安装和初次使用图解

    安装: 解压后包含这么多东东.执行选中的那个: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fil ...

  6. 最近玩Bootstrap , 一些小工具 记录在案。

    最近玩Bootstrap , 一些小工具 记录在案. 1 定制Bootstrap ,所见即所得的修改Bootstrap的各种变量,即时查看样式的变化. http://bootswatchr.com/ ...

  7. Excel相同内容如何设置相同的背景色

    有这样一个需求就是实现EXCEL的相同内容的背景色相同.并且内容不同的时候达到隔行变色的效果,记录下实现的效果,如果大家有什么更好的办法请给我指点一下.具体操作如下: 首先将是比较的列"20 ...

  8. QIODevice (Qt中所有 I/O devices 的基类,QFile,QBuffer,QTcpSocket等)

    QIODevice是所有Qt I/O设备的基类,它提供了对支持块读写设备(例如QFile,QBuffer,QTcpSocket)的通用实现和抽象接口.QIODevice是一种抽象,不能被实例化,但是, ...

  9. vmstat和iostat命令进行Linux性能监控

    这是我们正在进行的Linux命令和性能监控系列的一部分.vmstat和iostat两个命令都适用于所有主要的类unix系统(Linux/unix/FreeBSD/Solaris). 如果vmstat和 ...

  10. mxnet与tensorflow的卷积实现细节比较

    mxnet的卷积 kernel = 3  pad=1边界补充0后,不管stride是否1还是2,imgw = 奇数或者偶数, 都是从图像位置(0,0)开始卷积 tensorlfow的卷积 kernel ...