0

我正在使用 VBScript 自动化 Web 应用程序。现在我的问题是,如果我单击网页中的任何链接或按钮,加载网页需要一些时间,但 URL 保持不变。所以我的脚本应该等到加载完成。

以下代码对我没有帮助:

Do While objIE.Busy
  DoEvents
Loop

实际上,当页面加载时,网页上会显示一个图像(Loading-Indicator)。所以我试图确定图像是否存在并等到图像存在于页面上然后继续。

我想要一些类似的东西:

Do while Image (Loading-Indicator).exists
  DoEvents
Loop

可能吗?

4

1 回答 1

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

只要应用程序启动,就会显示具有 ID的<img>元素。loadind

于 2013-09-03T09:17:04.663 回答