在QTP中使用DOM

大家对DOM应该都不陌生,它在网页制作中有广泛的应用。如果我们想在QTP中使用DOM模型需要通过Page对象的Object属性来实现。注意,QTP11才有良好的DOM支持操作,这里用百度首页做例子。

我们需要做的是在百度的搜索输入框中输入"qtp"并改变输入框的样式

'改变搜索框样式

Set odom=Browser("百度一下,你就知道").Page("百度一下,你就知道").Object
odom.getElementById("kw").value="qtp"
odom.getElementById("kw").style.border="2px solid red"

 

input标签的ID可以通过IE开发者工具查到,按下F12就可以了。想快速定位的话,按下CTRL+B,鼠标移到输入框上,单击即可。

当需要操作的对象很多的时候,使用DOM可以快速的完成。例如,我们想输出百度知道页面的所有A标签,使用DOM的方式获取更为快速。

 1 services.StartTransaction "GetA"
 2 Set link_obj=description.Create
 3 link_obj("micClass").value="Link"
 4 
 5 Set links= Browser("百度知道 - 全球最大中文互动问答平台").Page("百度知道 - 全球最大中文互动问答平台").ChildObjects(link_obj)
 6 For i=0 to links.count-1
 7     print links.item(i).GetROProperty("text")
 8 Next
 9 services.EndTransaction "GetA"
10 
11 services.StartTransaction "GetB"
12 Set dom=Browser("百度知道 - 全球最大中文互动问答平台").Page("百度知道 - 全球最大中文互动问答平台").Object
13 
14 Set adoms=dom.getElementsByTagName("a")
15 
16 For each adom in adoms
17     print adom.innerHTML
18 Next
19 services.EndTransaction "GetB"

 

DOM还可以做很多QTP不能做的事情,例如,我们想使百度首页的A标签全部不显示,DOM可以很简单的完成

1 Set dom=Browser("百度知道 - 全球最大中文互动问答平台").Page("百度一下,你就知道").Object
2 
3 Set adoms=dom.getElementsByTagName("a")
4 
5 For each adom in adoms
6     adom.style.display="none"
7 Next

 

转载于:https://www.cnblogs.com/michaelle/p/4023323.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值