jquery选择器以及在RF中的使用
上一篇 / 下一篇 2016-07-30 22:08:14 / 个人分类:Robotframework
在rf中可以使用execute javascript来执行js,有时可以更方便有效,或者解决常规方法无法解决的问题,js提供查找元素的方法非常有限,因此,适当了解一些常用的js框架知识是很有必要的。
U?jvFE'S`0jquery是一种非常流行的一个js库
Z_2q(O"\T8B
@7x0jquery选择器:
*使用$('expr'),支持css表达式
如$('div.class li:contains("**")')
$('div>li:visible')
*如果页面引入了js库,则在ie或ff或chrome按F12进入控制台,执行jquery选择器
*使用cssselector表达式
$('div.items>li:nth-child(2)')
*使用dom内移动
$('#id').find('li').eq(2).next()
方法:
*祖先元素:parent(),parents().parentsUntile()
父元素:直接上一级元素,返回一个51Testing软件测试网nzviAbd
parents():所有祖先元素51Testing软件测试网MQ0n;u
o+Q9kz2^H
parentsUntile(),51Testing软件测试网G3h(DKD7Hw@7p
$('div#mydiv').parentsUntil('divuntil'):返回所有之间的祖先元素
*子孙元素chilidren,find
*同级元素 nextsiblings,prevall,prevuntil,next,nextall,nextuntil
*属性选择器:
= $ ^ * !<>51Testing软件测试网(^6X
DD5s
以上表示等于,结尾,开始,包含,不等于,类似于css51Testing软件测试网,Lq!\!uo;E:y@
如:$("[class!='item-disable']")
(lB7} bf\8X'gES0过滤:first(),not(),eq()等51Testing软件测试网K%ub1zaoG
O4q
获取和设置元素的值51Testing软件测试网
_1[p8e*baX
text(),html(),value()51Testing软件测试网fu;|Ls ^
如果参数内容为空,则表示获取,否则为设置51Testing软件测试网'|jA"lFk9~t\
获取或设置元素的属性attr()
$(selector).attr(attribute)
$(selector).attr(attribute,value)
*判断元素是否存在:$('expr').length>0
*css方法:设置或返回元素的样式属性
9I'\3t.\*rY
FffT0$('#id').css("display","inline");
I'Du
P;f9?|R%_8N0$('#id').css('readonly');51Testing软件测试网)sDh\L,g.N
show():显示元素51Testing软件测试网w
{ @2]a!i9R
$('div:hidden').show():显示所有隐藏的div元素
*filter(expr),expr可以是多个51Testing软件测试网,h$o[Il&`%F J
$().filter(":contains('add'),:contains('add2')")
jquery对象与dom对象的互转,51Testing软件测试网nc/QO0S#_J]lF
1.jquery转成dom对象
I;f|];l0 jquery是数组,使用索引即可转换。或get[index]51Testing软件测试网
O*D6B(v1_+d/g
如:$('id')[0].innerHTML51Testing软件测试网cY
i}w1q4K~9?
2.dom转换成jquery51Testing软件测试网#eV[Sxf
直接使用$()来包装51Testing软件测试网aH-YKg)t L O
如:var ele=dom.getElementById('id')
'l"Z$P:IF'W#}2?0 $ele).html()
RF里的使用
1.使用jquery前缀
jquery=li[value='']:visible