go selenium的ByCSSSelector 选择器
使用规则按照 CSS selector选择器来过滤
css selector部分参考
https://www.cnblogs.com/clarke157/p/6432546.html
https://blog.csdn.net/hou_angela/article/details/80519718
CSS选择器的常见语法:
# 通用元素选择器,匹配任何元素
E 标签选择器,匹配所有使用E标签的元素
.info class选择器,匹配所有class属性中包含info 的元素
#footer id选择器,匹配所有id属性等于footer 的元素
E,F 多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔
EF 后代元素选择器,匹配所有属于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[attl='v1'][tt2*='v2'] 属性att1的值为v1, att2 的值包含v2 (区分大小写)
E:contains(xxxx') 内容中包含XXXx的E元素
E:not(s) |匹配不符合当前选择器的任何元素
示例:
<div class="subdiv">
<ul id="recordlist">
<p>Heading</p>
<l>Cat</li>
<li>Dog</li>
<li>Car</1i>
<li>Goat</l>
</ul>
</div>
匹配示例:
locator 匹配到的示例
u1>li:nth(0) <1i>Cat</li>
ul>*:nth(0) <p> Heading</p>
ul>:nth(0) <p> Heading</p>
u1>li:first <li>Cat</li>
ul>:first <p> Heading</p>
ul>*:last <1i>Goat</i>
ul>li:last <1i>Goat</i>
ul>li:even Cat, Car
ul>li:odd Dog, Goat
ul>:even <p> HeadingS/p>
ul>p:odd [error] not found
ul>li:1t(2) <1i>Cat</li>
ul>li:gt(2) <1i>Goat</Ii>
ul>li:only-child [error] not found (u1没有only child)
ul>:only-child [error] not found (u1没有only child)
ul>*:only-child [error] not found (u1没有only child)
div.subdiv>:only-child <ul id="recordlist"></ul>
go使用selenium ByCSSSelector 的格式
web2.FindElement(selenium.ByCSSSelector,"u1>li:nth(0)")
web2.FindElement(selenium.ByCSSSelector,"ul>*:nth(0)")
web2.FindElement(selenium.ByCSSSelector,"ul>:nth(0)")
web2.FindElement(selenium.ByCSSSelector,"u1>li:first")
web2.FindElement(selenium.ByCSSSelector,"ul>:first")
web2.FindElement(selenium.ByCSSSelector,"ul>*:last")
web2.FindElement(selenium.ByCSSSelector,"ul>li:last")
web2.FindElement(selenium.ByCSSSelector,"ul>li:even")
web2.FindElement(selenium.ByCSSSelector,"ul>li:odd")
web2.FindElement(selenium.ByCSSSelector,"ul>:even")
web2.FindElement(selenium.ByCSSSelector,"ul>p:odd")
web2.FindElement(selenium.ByCSSSelector,"ul>li:1t(2)")
web2.FindElement(selenium.ByCSSSelector,"ul>li:gt(2)")
web2.FindElement(selenium.ByCSSSelector,"ul>li:only-child")
web2.FindElement(selenium.ByCSSSelector,"ul>:only-child")
web2.FindElement(selenium.ByCSSSelector,"ul>*:only-child")
web2.FindElement(selenium.ByCSSSelector,"div.subdiv>:only-child")
其他的一些CSS selector选择器
#input 选择id为input的节点
.Volvo 选择class为Volvo的节点
div#radio>input 选择id为radio的div下的所有的input节点
div#radio input 选择id为radio的div下的所有的子孙后代input节点
div#radio>input:nth-of-type(4) 选择id为radio的div下的第4个input节点
div#radio>nth-child(1) 选择id为radio的div下的第1个子节点
div#radio>input:nth-of-type(4)+label 选择id为radio的div下的第4个input节点之后挨着的label节点
div#radio>input:nth-of-type(4)~labe 选择id为radio的div下的第4个input节点之后的所有label节点
input.Vovlo[name='identity'] 选择class为.Volvo并且name为identity的input节点
input[name='identity'][type='radio']:nth-of-type(1) 选择name为identity且type为radio的第1个input节点
input[name^='ident'] 选择以ident开头的name属性的所有input节点
input[name$='entity'] 选择以'entity'结尾的name属性的所有input节点
input[name*='enti'] 选择包含'enti'的name属性的所有input节点
div#radio>*.not(input) 选择id为radio的div的子节点中不为input的所有子节点
input:not([type='radio']) 选择input节点中type不为radio的所有节点
go selenium的ByCSSSelector 选择器
Guess you like
Origin blog.csdn.net/liao__ran/article/details/120850850
Recommended
Ranking