在rf中可以使用execute javascript来执行js,有时可以更方便有效,或者解决常规方法无法解决的问题,js提供查找元素的方法非常有限,因此,适当了解一些常用的js框架知识是很有必要的。51Testing软件测试网:pkf3DH4TJn
jquery是一种非常流行的一个js库51Testing软件测试网
ka)v\+i
jquery选择器:51Testing软件测试网9I+_2N
x-` y8RP H-y
*使用$('expr'),支持css表达式51Testing软件测试网q#Me"QIv(y+wi
如$('div.class li:contains("**")')51Testing软件测试网/@^2sYP|mm
$('div>li:visible')
4V$_ _8uMT7SxK0*如果页面引入了js库,则在ie或ff或chrome按F12进入控制台,执行jquery选择器
:E$]P{ b"D'iF0*使用cssselector表达式51Testing软件测试网sa:b3\:^4bAW
$('div.items>li:nth-child(2)')
`3|\A*F{0*使用dom内移动51Testing软件测试网m"~t%{'d7f%a
$('#id').find('li').eq(2).next()
"Nh
c+?~(bG3Z0方法:51Testing软件测试网Pqq3e't(~
*祖先元素:parent(),parents().parentsUntile()
*y5N7G,y:C0父元素:直接上一级元素,返回一个
/OSv
C#Ho0parents():所有祖先元素
@UQ(?c#K'[9F2P0parentsUntile(),51Testing软件测试网6@Mf!gdG1j
$('div#mydiv').parentsUntil('divuntil'):返回所有之间的祖先元素51Testing软件测试网(hXg8hc:L(G3[
t]
*子孙元素chilidren,find51Testing软件测试网Ofn4p"X\n
*同级元素 nextsiblings,prevall,prevuntil,next,nextall,nextuntil51Testing软件测试网 OhABva!b#p
*属性选择器:51Testing软件测试网w!U2@*Y}qu
= $ ^ * !<>51Testing软件测试网(P7YQP1S}0e
以上表示等于,结尾,开始,包含,不等于,类似于css
B#L*q/~
au#clt6c0如:$("[class!='item-disable']")51Testing软件测试网"jYk7|C$^f|
过滤:first(),not(),eq()等
'u
zvB;S;Zl*B0获取和设置元素的值51Testing软件测试网&I"IB
l M3X[.j
text(),html(),value()51Testing软件测试网'v6tk}#i8C*|
如果参数内容为空,则表示获取,否则为设置51Testing软件测试网#L%p,]r!p+|iA7x
获取或设置元素的属性attr()51Testing软件测试网$r:Hgp3U*Zw^&S-Dr/M
$(selector).attr(attribute)
/uj'z`o0S0$(selector).attr(attribute,value)51Testing软件测试网4bO'H6rA2^
*判断元素是否存在:$('expr').length>0
`-XO[o6f#`
}Xhp0*css方法:设置或返回元素的样式属性
WV*Z.sG~J9pPdc0$('#id').css("display","inline");
M:@+A/P
h0w+D`]0$('#id').css('readonly');
cE
b{*}{X!CZ0show():显示元素
b9?uSK0$('div:hidden').show():显示所有隐藏的div元素
_%O#k3a,?0*filter(expr),expr可以是多个51Testing软件测试网Hd9qG^C#q
$().filter(":contains('add'),:contains('add2')")51Testing软件测试网iBHdi.S/p
jquery对象与dom对象的互转,51Testing软件测试网 c \]6of.E
1.jquery转成dom对象
*Pc$y~#Q8h7M#e4~2e0 jquery是数组,使用索引即可转换。或get[index]51Testing软件测试网8I[H-R'{R-V
如:$('id')[0].innerHTML
t'XEBA02.dom转换成jquery51Testing软件测试网.OEF
yb
直接使用$()来包装
$@9e0]:JU1Pv0如:var ele=dom.getElementById('id')51Testing软件测试网f2p(c0[b1j1Dk
$ele).html()51Testing软件测试网g2sT'pT*Y
c8~1_*XjG3w
RF里的使用
Vbqp!DME9l7D01.使用jquery前缀51Testing软件测试网{ E(J zg
jquery=li[value='']:visible51Testing软件测试网? ^$\-C(r3Y
貌似只支持$('')里面的语法51Testing软件测试网"nTRR7O+F
X
2.点击元素51Testing软件测试网6_6O6njm0U:|
execute javascript. $(#list1).find('li').eq(2).click()51Testing软件测试网Im2D{b,]n$mE
3.返回值51Testing软件测试网4tgJ,\SDZ-RE w)u
execute javascript. var a=$('ul>div').val();return var
+|;u ^^
\ j04.等待元素状态
nArb1O;Vo U/~"VV0${input} |execute javascript.|return $('div>input:visivle')
(| mQ]SlE9n m0run keywords unless |${input} ……51Testing软件测试网O$dk5P7X_
5.滚动条操作
O;zA9Lr&bS(Z0$(#scroll).scrollTop=$(#scroll).height():滚动到最底部51Testing软件测试网+uM{
\!n0Z$E.SV
$(#scroll).scrollLeft=$(#scroll).width():滚最右边动到51Testing软件测试网J(y`rga!w
B5?*c$w"W5\0 51Testing软件测试网o3t+buOsyoL