0
点赞
收藏
分享

微信扫一扫

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


CSS 定位

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

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

CSS 选择器的常见语法:

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

<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 语法进行匹配的实例:

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

css 中的结构性定位

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

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

Sizzle Css3的结构性定位语法

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


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

例如下面一段代码:

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

匹配示例:

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

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


举报

相关推荐

0 条评论