基于《Selenium 2自动化测试实战》的学习笔记(6)—— CSS 定位

CSS 定位

CSS(Cascading Style Sheets)是一种语言,它被用来描述HTML 和XML 文档的表现。CSS 使用选择器来为页面元素绑定属性。这些选择器可以被selenium 用作另外的定位策略。

CSS 可以比较灵活选择控件的任意属性,一般情况下定位速度要比XPath 快。


CSS 选择器的常见语法:

这里写图片描述

<div class="formdiv">

    <form name="fnfn">
        <input name="username" type="text"></input>
        <input name="password" type="text"></input>
        <input name="continue" type="button"></input>
        <input name="cancel" type="button"></input>
        <input value="SYS123456" name="vid" type="text">
        <input value="ks10cf6d6" name="cid" type="text">
    </form>

    <div class="subdiv">
        <ul id="recordlist">
            <p>Heading</p>
            <li>Cat</li>
            <li>Dog</li>
            <li>Car</li>
            <li>Goat</li>
        </ul>
    </div>
</div>

通过CSS 语法进行匹配的实例:

这里写图片描述


css 中的结构性定位

结构性定位就是根据元素的父子、同级中位置来定位,css3标准中有定义一些结构性定位伪类如nth-of-type,nth-child。

Selenium 中则是采用了来自Sizzle 的css3定位扩展,它的语法更加灵活易懂。

Sizzle Css3的结构性定位语法

这里写图片描述
这里写图片描述

例如下面一段代码:

<div class="subdiv">
    <ul id="recordlist">
        <p>Heading</p>
        <li>Cat</li>
        <li>Dog</li>
        <li>Car</li>
        <li>Goat</li>
    </ul>
</div>

匹配示例:

这里写图片描述

CSS 定位语法比XPath 更为简洁,定位方式更多灵活多样;不过对CSS 理解起来要比XPath 较难;但不管是从性能还是定位更复杂的元素上,CSS 优于XPath,笔者更推荐使用CSS定位页面元素。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值