2.等待页面加载
可以使用IE COM的Busy属性来确认浏览器是否处于加载状态。并为后续的操作做铺垫,若是没有此步骤,后续的一系列操作可能会无效。因为,当IE浏览器还没有加载完成时,对Web测试对象进行操作可能会出现无效的情况。因此,为了测试的顺利进行,需要在脚本中加入页面等待来保证后续的操作步骤顺利进行。
'使用IE COM启动IE Set oIE = CreateObject("InternetExplorer.Application") oIE.Visible = True '设置可见 oIE.Navigate "http://www.baidu.com" '跳转URL '等待IE页面加载完毕 While oIE.Busy: Wend |
接下来对比一下页面加载和没有加载的区别。
(1)添加页面加载等待脚本,最后一步oIE.Document.f.wd.value = "zzxxbb112"先不用管,会在后面的内容中讲解:
'使用IE COM启动IE Set oIE = CreateObject("InternetExplorer.Application") oIE.Visible = True '设置可见 oIE.Navigate "http://www.baidu.com" '跳转URL '等待IE页面加载完毕 While oIE.Busy: Wend '百度搜索框输入 oIE.Document.f.wd.value = "zzxxbb112" |
结果:执行成功,打开IE浏览器后,成功输入zzxxbb112,如图3-10所示。
图3-10
(2)不添加页面加载等待的脚本,去掉While oIE.Busy: Wend这步:
'使用IE COM启动IE Set oIE = CreateObject("InternetExplorer.Application") oIE.Visible = True '设置可见 oIE.Navigate "http://www.baidu.com" '跳转URL '等待IE页面加载完毕 'While oIE.Busy: Wend '百度搜索框输入 oIE.Document.f.wd.value = "zzxxbb112" |
结果:执行出错,报出“缺少oIE.document对象”的错误信息,如图3-11所示。
图3-11
原因分析:由于IE浏览器跳转url后需要一定的加载时间,如果在还没有加载页面时,就直接使用document对象是不可以的,必须等待加载完毕,才能够对document对象进行操作,因此,程序会抛出一个缺少对象的异常。