Internet explorer 为什么Internet Explorer没有调用我的VBscript事件处理程序?

Internet explorer 为什么Internet Explorer没有调用我的VBscript事件处理程序?,internet-explorer,vbscript,Internet Explorer,Vbscript,我试图通过VBscript在Internet Explorer中自动填写一些表单,但遇到了一个问题 我的第一个问题是处理Internet Explorer的完整性模式。我通过以下步骤解决了这个问题: 我的第二个问题是,使用Busy和ReadyState组合检查页面是否已加载并没有给我正确的结果,它是在实际加载最终页面之前完成的。我相信这是我得到的重定向;我在一个公司环境中,所以在我进入表格之前,单点登录会先检查我是谁 我的想法是使用事件回调DocumentComplete来检查是否加载了最后一个

我试图通过VBscript在Internet Explorer中自动填写一些表单,但遇到了一个问题

我的第一个问题是处理Internet Explorer的完整性模式。我通过以下步骤解决了这个问题:

我的第二个问题是,使用Busy和ReadyState组合检查页面是否已加载并没有给我正确的结果,它是在实际加载最终页面之前完成的。我相信这是我得到的重定向;我在一个公司环境中,所以在我进入表格之前,单点登录会先检查我是谁

我的想法是使用事件回调DocumentComplete来检查是否加载了最后一个页面,但我看不到调用了我的函数

我在下面包含了一段代码片段:

Option Explicit
Dim objIeMedium
Set objIeMedium = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")

Dim isDocumentComplete : isDocumentComplete = False

Sub objIeMedium_DocumentComplete(ByVal pdisp, ByVal url)
    Wscript.Echo "DocumentComplete"
    isDocumentComplete = True
End Sub

Sub objIeMedium_OnQuit()
    Wscript.Echo "Quitting"
    isDocumentComplete = True
End Sub

Sub objIeMedium_NavigateComplete(ByVal pdisp, ByVal url)
    Wscript.Echo "NavigateComplete"
    isDocumentComplete = True
End Sub

objIeMedium.Navigate("http://abc/xyz.aspx")
objIeMedium.Visible = True
'Do While objIeMedium.Busy And objIeMedium.ReadyState <> 4: WScript.Sleep 100: Loop

Do Until isDocumentComplete
    Wscript.Sleep 100
Loop

Wscript.Echo "Done"

objIeMedium.Quit
Set objIeMedium = Nothing
选项显式
暗色中号
Set objIeMedium=GetObject(“新建:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}”)
Dim isDocumentComplete:isDocumentComplete=False
子对象文件完成(ByVal pdisp、ByVal url)
Echo“DocumentComplete”
isDocumentComplete=True
端接头
子对象
Wscript.Echo“退出”
isDocumentComplete=True
端接头
子对象导航完成(ByVal pdisp、ByVal url)
Echo“导航完成”
isDocumentComplete=True
端接头
中。导航(“http://abc/xyz.aspx")
objIeMedium.Visible=True
'Do While objIeMedium.Busy和objIeMedium.ReadyState 4:WScript.Sleep 100:Loop
直到文档完成为止
Wscript.Sleep 100
环
Echo“完成”
中号,退出
设置为中等=无
我是不是做错了什么