zoukankan      html  css  js  c++  java
  • [Selenium]中使用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>

  • 相关阅读:
    AFNetworking使用总结
    使用Attiny 85开发板制作BadUSB
    C# 按指定数量从前面或者后面删除字符串
    C# 获取打印机列表
    【解决】该任务映像已损坏或已篡改。(异常来自HRESULT:0x80041321)
    PowerShell 解锁使用浏览器下载的文件
    C#使用HttpHelper万能框架,重启路由器
    【解决】应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。
    Windows 7 IE11 F12 不能正常使用
    HTML5 图片上传预览
  • 原文地址:https://www.cnblogs.com/MasterMonkInTemple/p/3722949.html
Copyright © 2011-2022 走看看