zoukankan      html  css  js  c++  java
  • webdriver css选取器

    大家在使用selenium元素定位的时候,通常更多使用的是XPATHcss定位方式用得比较少 但有时候css定位方式还是有一些优势的, 优势1:一般情况下定位速度要比XPATH 优势2:语法要比XPATH更简洁 下面简要介绍一下css元素选择器的语法 常见语法

    *
    通用元素选择器,匹配任何元素
    E
    标签选择器,匹配所有使用E标签的元素
    .info
    class选择器,匹配所有class属性中包含info的元素
    #footer
    id选择器,匹配所有id属性等于footer的元素
    E,F
    多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔
    E F
    后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔
    E > F
    子元素选择器,匹配所有E元素的子元素F
    E + F
    毗邻元素选择器,匹配紧随E元素之后的同级元素F (只匹配第一个)
    E ~ F
    同级元素选择器,匹配所有在E元素之后的同级F元素
    E[att='val']
    属性att的值为val的E元素 (区分大小写)
    E[att^='val']
    属性att的值以val开头的E元素 (区分大小写)
    E[att$='val']
    属性att的值以val结尾的E元素 (区分大小写)
    E[att*='val']
    属性att的值包含val的E元素 (区分大小写)
    E[att1='v1'][att2*='v2']
    属性att1的值为v1,att2的值包含v2 (区分大小写)
    E:contains('xxxx')
    内容中包含xxxx的E元素
    E:not(s)
    匹配不符合当前选择器的任何元素

    例如这样一段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>
    匹配示例:
    locator
    匹配
    css=div
    css=div.formdiv
    <div class="formdiv">
    css=#recordlist
    css=ul#recordlist
    <ul id="recordlist">
    css=div.subdiv p
    css=div.subdiv > ul > p
    <p>Heading</p>
    css=form + div
    <div class="subdiv">
    css=p + li
    css=p ~ li
    二者定位到的都是 <li>Cat</li>
    但是storeCssCount的时候,前者得到1,后者得到4
    css=form > input[name=username]
    <input name="username">
    css=input[name$=id][value^=SYS]
    <input value="SYS123456" name="vid" type="hidden">
    css=input:not([name$=id][value^=SYS])
    <input name="username" type="text"></input>
    css=li:contains('Goa')
    <li>Goat</li>
    css=li:not(contains('Goa'))
    <li>Cat</li>
  • 相关阅读:
    LRU Algorithm Gym
    Running Routes Kattis
    Box HDU
    manjaro 安装 tim 后无法输入中文
    Angle Beats Gym
    Fish eating fruit 沈阳网络赛(树形dp)
    请求接口模板
    Droppable 拖拽实例
    线程处理
    网站的配置文件XML读写
  • 原文地址:https://www.cnblogs.com/Roger1227/p/3131043.html
Copyright © 2011-2022 走看看