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

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

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

jquery是一种非常流行的一个js库
b:p%t^#N8`0jquery选择器:
51Testing软件测试网x,s6U&R3jb0U3~"pj

*使用$('expr'),支持css表达式

c vO0m^-H n0

如$('div.class li:contains("**")')51Testing软件测试网V'X[/mUdD9B

$('div>li:visible')51Testing软件测试网^*dD6I0Qvj

*如果页面引入了js库,则在ie或ff或chrome按F12进入控制台,执行jquery选择器51Testing软件测试网7C$]`5iUc*y

*使用cssselector表达式

L$qq@R0

$('div.items>li:nth-child(2)')

j+J8GWV0

*使用dom内移动51Testing软件测试网1c(]8Q8G5Y

$('#id').find('li').eq(2).next()

Uqu7z)A0

方法:

Q@-roM0

*祖先元素:parent(),parents().parentsUntile()

(i*g&F2C$\N X0

父元素:直接上一级元素,返回一个51Testing软件测试网be&MRA5N S
parents():所有祖先元素51Testing软件测试网&\|},a-_8U"m
parentsUntile(),51Testing软件测试网0_6Wwb7}4p f
$('div#mydiv').parentsUntil('divuntil'):返回所有之间的祖先元素

6|6}#t_1V K0

*子孙元素chilidren,find

e8IDnlT2NV0

*同级元素 nextsiblings,prevall,prevuntil,next,nextall,nextuntil

k%~:gt5P0

*属性选择器:51Testing软件测试网DN3w'c:r4e

= $ ^ * !<>51Testing软件测试网9J[J4^4qeQ-i
以上表示等于,结尾,开始,包含,不等于,类似于css51Testing软件测试网qUZ7^J)kR6~
如:$("[class!='item-disable']")51Testing软件测试网jW6m I Sx^
过滤:first(),not(),eq()等
._$cKy!C aK8SQT}0获取和设置元素的值
#i!L&C2|7r0text(),html(),value()
&@,y-uF(op [v'A0如果参数内容为空,则表示获取,否则为设置
B-@KZc p*a0获取或设置元素的属性attr()

UcteS `_o B!n0

$(selector).attr(attribute)51Testing软件测试网+s G!pWTk8k

$(selector).attr(attribute,value)

b1gh&AS3i0

*判断元素是否存在:$('expr').length>051Testing软件测试网 VAlf#X4u

*css方法:设置或返回元素的样式属性
Y/V#s;T!^(L a+APg0$('#id').css("display","inline");
:fq{ I"W.o&B0$('#id').css('readonly');
,NA)s3N#t0show():显示元素
KM7Ts9J;}z`0g0$('div:hidden').show():显示所有隐藏的div元素

0cu1] R8Jf,X4P| Gz.I0

*filter(expr),expr可以是多个
g$x%^4p] G$c0$().filter(":contains('add'),:contains('add2')")
51Testing软件测试网1t hd^ N2Aq

jquery对象与dom对象的互转,51Testing软件测试网6^/w:_9j/G%]G
1.jquery转成dom对象
X(y_,L*Y&o0 jquery是数组,使用索引即可转换。或get[index]
b'CG2Bm#dx$pO0 如:$('id')[0].innerHTML51Testing软件测试网*r7y8N*{ ]Nw @1l5K
2.dom转换成jquery
'@5nz/h2~0 直接使用$()来包装
&W:i^*z%S2I0如:var ele=dom.getElementById('id')
~!|-sr p1bX1i0 $ele).html()

Y4R6`1b(Q"V}0

RF里的使用

0j7Z8QB.ph ^0

1.使用jquery前缀51Testing软件测试网7T!tY&f {9s

jquery=li[value='']:visible

H7}oJ \ k4Hk1E0

貌似只支持$('')里面的语法51Testing软件测试网A2eU-t*g+hu

2.点击元素51Testing软件测试网h1K6NN'A_
execute javascript. $(#list1).find('li').eq(2).click()51Testing软件测试网O,zQ;st | qY`%vv
3.返回值
e+AiN @ C6U![v0execute javascript. var a=$('ul>div').val();return var

e {4ioen\ZDl0

4.等待元素状态
$PZqe k2bD0${input} |execute javascript.|return $('div>input:visivle')51Testing软件测试网wfGwA
run keywords unless |${input} ……51Testing软件测试网6jc(^q.{WH:t db
5.滚动条操作51Testing软件测试网um5uR4k
$(#scroll).scrollTop=$(#scroll).height():滚动到最底部51Testing软件测试网9P#Vkw0p0ko
$(#scroll).scrollLeft=$(#scroll).width():滚最右边动到
51Testing软件测试网T\r9N/x6DI0V$Q

 51Testing软件测试网P1x~3a8t1M}o

 51Testing软件测试网 O)LY V1x"O@[gM$r


TAG: jquery jQuery

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

评分:0

我来说两句

Open Toolbar