CSS选择器

上一篇 / 下一篇  2015-06-02 23:46:22 / 个人分类:selenium

#idname: id=idname的元素
.classname :class为classname的元素
tagname.classname:如div.class1,在QTP中,如果class中包含空格,如class=“x-menu x-seach”则使用“css:=x-menu x-seach”描述编程则会有问题,找不到元素,空格以后就不会去匹配了
input:focus  获得焦点的input元素,如果某个元素双击后出现输入框,焦点在输入框内,那么用这个查找输入框就最合适不过了
类似的还有:
input:checked
input:enabled
input:disabled

input textarea:所有input和textarea元素
   如:#HD_CheckIn,#HD_CheckOut:匹配两个元素
div textarea  :第一个元素内部的第二个元素,包括子、孙元素
div >div >input:父元素div下的div下的input
div.nav +input:紧挨着第一个元素的第二个元素

属性表达式:
attribute=value
attribute~=value ,
等号前面的符号还可以为*、$、^,分别表示,包含、结尾、开头,|和^类似

和xpath相比,css选择器的书写方式简单许多,多以符号表示具体含义
如,xpath=//input[contains(@id,'CityName')],css则简单多了:input[id*=CityName]

子元素:

li#cui_nav_home span:first-of-type:表示li元素下的第一个span子元素
#searchHotelLevelSelect option:nth-child(3):第一个元素下的类型为option的第三个子元素
其他的还有:last-of-typeonly-of-typeonly-childnth-of-type(n),n表示序号,从1开始
比较遗憾的是:
目前qtp对于这种写法css=li#cui_nav_home span:first-of-type,同样无效,只能找到li元素

css选择器只能从前往后查找元素,即只能通过上层元素查找下层元素,这点就不如xpath,xpath支持从后往前
例如:可以用//div[@name='sss']/../..来查找div元素的祖先元素,还可以通过x轴的parent或desantdant查找祖先元素

a ~b:同级元素,如果
如:div#fl_jmp_title~input,div同级的所有input元素,如果是+号则为紧挨着的input元素
 如果div元素后,input为第5个同级元素,则用~,+号则获取不到
[][]:多个属性,如[id='s1'][name='s2']

TAG:

 

评分:0

我来说两句

Open Toolbar