您的位置:首页 > 编程语言 > Qt开发

QTP获取页面链接并点击、拖拽方法

2010-06-28 23:49 309 查看
其实QTP要实现对使用ie核心的浏览器打开的web页面的操作是比较简单的,基本上有两种方式:使用qtp的描述性编程,查找web链接并操作;使用DOM对象提供的某些方法和属性实现预期功能。现在对于页面操作主要有两种,点击和拖拽。
对于页面链接点击方法1:
If window("Window").Page("百度一下,你就知道").WebButton("百度一下").Exist =true  Then
Set oDesc = Description.Create
oDesc( "micclass" ).Value = "Page"
set  pageObject = window("Window").ChildObjects( oDesc )
Set oDesc2 = Description.Create
oDesc2( "micclass" ).Value = "Link"
set  linkObject =pageObject(0).ChildObjects( oDesc2 )
linkObject(5).click
print logTimer()&"执行页面链接点击动作"
End If


对于页面链接点击方法2:
If  Window("Window").Page("page").Exist =true Then
Set objLists =  Window("Window").Page("page").Object
Set arrayLink= objLists.getElementsByTagname("a")
listLength =arrayLink.length
Randomize
selectLink = Int(listLength * Rnd)
If  listLength >10 Then
arrayLink(selectLink).focus
arrayLink(selectLink).click()
End If
End If


对于页面链接拖拽的方法:注意这里需要先找到page页面相对于屏幕左上角的坐标,然后在获取每个链接的绝对坐标。

If  Window("Window").Page("page").Exist =true Then
Set objLists =  Window("Window").Page("page").Object
Set arrayLink= objLists.getElementsByTagname("a")
page_x =  Window("Window").Page("page").GetROProperty("abs_x")
page_y =  Window("Window").Page("page").GetROProperty("abs_y")
listLength =arrayLink.length
Randomize
selectLink = Int(listLength * Rnd)
Set objlink =  arrayLink(selectLink)
If  objlink.disabled = false  Then
objlink.focus
print "链接名称:"& objlink.innerText
print "链接地址:"& objlink.href
set  rect= objlink.getBoundingClientRect()
link_x=cint(page_x+rect.left )
link_y=cint(page_y+rect.top)
drop_x=link_x+10
drop_y = link_y+10
Set deviceReplay = CreateObject( "Mercury.DeviceReplay" )
deviceReplay.MouseDown link_x,link_y,1
deviceReplay.MouseMove  drop_x,drop_y
deviceReplay.MouseUp  drop_x,drop_y,1
End If
End If


其实在这里后面有机会的话再深入了解一下DOM相关的方法对于自动化有比较大的意义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐