【QTP】等待页面加载的几种方法
2016-06-15 16:26
411 查看
在脚本的编写过程中,经常会遇到脚本执行太快,导致页面还没有加载完毕,而脚本却已经执行到下面N条,为了避免这样的情况,列举了几种等待页面加载的方法:
【1】
在File-->Settings-->Run-->Objectsynchronization中设置,默认时间是20秒。也就是说QTP会在20秒内不断的查找对象,如果在20秒内,页面控件出现,则能正常进行,超过20秒就要报错了。
虽然加长超时时间是一种方法,但还是推荐下面几种方法。
【2】
[vb] view
plain copy
print?
Browser(":=").Navigate "http://www.baidu.com"
Browser("百度一下,你就知道").Page("百度一下,你就知道").Sync
msgbox "Over"
这种方法最简单,直接在Page对象后,家个Sync,会等待页面加载完成后再执行下面语句,但有时候也不好使。
【3】
[vb] view
plain copy
print?
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】
[vb] view
plain copy
print?
Browser(":=").Navigate "http://www.baidu.com"
Do
wait 0,500
Loop Until Browser("百度一下,你就知道").Page("百度一下,你就知道"). WebEdit ("wd ").Exist(0.5)
msgbox "Over"
这也是我比较喜欢的方法,要用什么控件,判断下是否存在,也可以直接写成函数,达到复用。
【5】
[vb] view
plain copy
print?
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句话
[vb] view
plain copy
print?
wait 100 '你懂的
【1】
在File-->Settings-->Run-->Objectsynchronization中设置,默认时间是20秒。也就是说QTP会在20秒内不断的查找对象,如果在20秒内,页面控件出现,则能正常进行,超过20秒就要报错了。
虽然加长超时时间是一种方法,但还是推荐下面几种方法。
【2】
[vb] view
plain copy
print?
Browser(":=").Navigate "http://www.baidu.com"
Browser("百度一下,你就知道").Page("百度一下,你就知道").Sync
msgbox "Over"
这种方法最简单,直接在Page对象后,家个Sync,会等待页面加载完成后再执行下面语句,但有时候也不好使。
【3】
[vb] view
plain copy
print?
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】
[vb] view
plain copy
print?
Browser(":=").Navigate "http://www.baidu.com"
Do
wait 0,500
Loop Until Browser("百度一下,你就知道").Page("百度一下,你就知道"). WebEdit ("wd ").Exist(0.5)
msgbox "Over"
这也是我比较喜欢的方法,要用什么控件,判断下是否存在,也可以直接写成函数,达到复用。
【5】
[vb] view
plain copy
print?
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句话
[vb] view
plain copy
print?
wait 100 '你懂的
相关文章推荐
- QT中DBus的用法
- pyqt实现自定义窗口拖动大小,到桌面边框自动影藏
- QxOrm编译使用手记
- Qt5打印功能示例代码
- qt 标准对话框
- 一个基于Qt的截屏程序
- DBus编译出错 ----QT中dbus所依赖的一个库
- Qt之字体文件(TTF)
- Qt之字体文件(TTF)
- How to use Qt’s QSortFilterProxyModel
- Qt child widget stop inherit parent widget image(Qt子窗体stylesheet不继承父窗体stylesheet)
- Qt的tr函数和中文乱码处理
- ubuntu下Qt编译报错 cannot find -lGL
- MQTT协议在nodejs中的使用
- QT 子窗口—>主窗口 信号和槽的交互
- 【转】Qt中的QString,QByteArray,Qchar, char*
- Qt事件系统
- Qt Dll总结(二)——创建及使用Qt的Dll(转载)
- 树莓派安装QT
- Qt Dll总结——链接库预备知识(转载)