【QTP】等待页面加载的几种方法

在脚本的编写过程中,经常会遇到脚本执行太快,导致页面还没有加载完毕,而脚本却已经执行到下面N条,为了避免这样的情况,列举了几种等待页面加载的方法:

【1】

在File-->Settings-->Run-->Objectsynchronization中设置,默认时间是20秒。也就是说QTP会在20秒内不断的查找对象,如果在20秒内,页面控件出现,则能正常进行,超过20秒就要报错了。

虽然加长超时时间是一种方法,但还是推荐下面几种方法。

 

【2】

Browser(":=").Navigate "http://www.baidu.com"
Browser("百度一下,你就知道").Page("百度一下,你就知道").Sync
msgbox "Over"

这种方法最简单,直接在Page对象后,家个Sync,会等待页面加载完成后再执行下面语句,但有时候也不好使。

 

【3】

Browser(":=").Navigate "http://www.baidu.com"
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").WaitProperty "visible", True, 100000 
msgbox "Over"

在100秒的时间内,等待wd对象的visible属性,visible属性变为true,则执行下面语句。

最后的100000单位是毫秒,如果在100000毫秒=100秒。

 

【4】

Browser(":=").Navigate "http://www.baidu.com"
Do
    wait 0,500
Loop Until Browser("百度一下,你就知道").Page("百度一下,你就知道"). WebEdit ("wd ").Exist(0.5)
msgbox "Over"

这也是我比较喜欢的方法,要用什么控件,判断下是否存在,也可以直接写成函数,达到复用。

 

【5】

Set oIE = CreateObject("InternetExplorer.Application")
oIE.Visible = True     '设置可见
oIE.Navigate "http://www.baidu.com"        '跳转URL
'等待IE页面加载完毕
While oIE.Busy :Wend
msgbox "Over"

这也是一种方法,有点类似【4】,不同的是用了点DOM,大家参考一下吧。

 

【6】

如果上面的都不会,下面的是终极奥义,只有1句话

wait 100     '你懂的






 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值