jquery选择器以及在RF中的使用

上一篇 / 下一篇  2016-07-30 22:08:14 / 个人分类:Robotframework

在rf中可以使用execute javascript来执行js,有时可以更方便有效,或者解决常规方法无法解决的问题,js提供查找元素的方法非常有限,因此,适当了解一些常用的js框架知识是很有必要的。51Testing软件测试网:pkf3DH4TJ n

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软件测试网s a: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软件测试网 OhA Bv a!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 zv B;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对象
*P c$y~#Q8h7M#e4~2e0 jquery是数组,使用索引即可转换。或get[index]51Testing软件测试网8I[H-R'{R-V
 如:$('id')[0].innerHTML
t'XEB A02.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里的使用

Vbq p!DME9l7D0

1.使用jquery前缀51Testing软件测试网{ E(Jzg

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^^ \ j0

4.等待元素状态
nAr b1O;Vo U/~"VV0${input} |execute javascript.|return $('div>input:visivle')
(|mQ]SlE9n m0run keywords unless |${input} ……51Testing软件测试网O$dk5P7X_
5.滚动条操作
O;zA9Lr&b S(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


TAG: jquery jQuery

引用 删除 Warrrenren   /   2016-08-01 11:53:43
引用 删除 Warrrenren   /   2016-08-01 11:53:22
3
 

评分:0

我来说两句

Open Toolbar