我使用VBScript自动化Web应用程序。现在我的问题是,如果我点击网页中的任何链接或按钮,它需要一些时间来加载网页,但URL保持不变。所以我的脚本应该等到加载完成。
以下代码对我没有帮助:
Do While objIE.Busy
DoEvents
Loop
实际上,当页面加载时,网页上会显示一个图像(Loading-Indicator)。所以我试图识别图像是否等到图像存在于页面上然后继续。
我想要一些像:
Do while Image (Loading-Indicator).exists
DoEvents
Loop
有可能吗?
答案 0 :(得分:0)
你想要的是不可能的。除非已达到READYSTATE_COMPLETE
,否则您无法访问该页面的内容,此时Busy
属性的值将变为False
。
请解释为什么你不能使用
Do While objIE.Busy
WScript.Sleep 100
Loop
或
Do Until objIE.ReadyState = 4
WScript.Sleep 100
Loop
等待页面完成加载。
编辑:要等待应用程序在加载页面后完成启动,您可以执行以下操作:
'wait for page content to become accessible
Do Until objIE.ReadyState = 4
WScript.Sleep 100
Loop
'wait for application to finish starting
Do Until IsNull(objIE.document.getElementById("loadind"))
DoEvents
Loop
如果应用程序正在启动,则显示标识为<img>
的{{1}}元素。