检查网页中是否存在图像

时间:2013-09-03 06:27:07

标签: vbscript

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

以下代码对我没有帮助:

Do While objIE.Busy
  DoEvents
Loop

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

我想要一些像:

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

有可能吗?

1 个答案:

答案 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}}元素。