问题描述
我正在尝试为必须登录的基于 Web 的系统上的用户创建一个自动化工具。我无法使用 CreateObject,因为它会打开一个新的 IE 窗口,让用户再次登录,然后将他们踢出当前会话。
如何重写以下内容,使其针对现有的 IE 窗口并在不使用 CreateObject 的情况下单击按钮?
Sub exampleOne
Dim ie,doc
set ie = 'cannot use CreateObject - what else can I do?
set doc = ie.document
wshell.AppActivate("Sample Title")
doc.getElementByID("button").Click
End Sub
解决方法
我建议您尝试参考下面的示例可能会帮助您聚焦现有的 IE 窗口并单击网页上的按钮。
示例 VBScript:
Set shell = WScript.CreateObject("WScript.shell")
Dim objInstances,objIE,IE
Set objInstances = WScript.CreateObject("Shell.Application").windows
If objInstances.Count > 0 Then
For Each objIE In objInstances
If InStr(objIE.LocationURL,"https://Your_site_URL_here...") > 0 then '/// Modify the URL on this line...
Set IE = objIE
End if
Next
End If
shell.AppActivate ("Internet Explorer")
Wait IE,2000
IE.document.getElementById("btn1").Click
Wait IE,2000
'IE.Quit
Sub Wait(IE,ms)
Do
WScript.Sleep ms
Loop While IE.ReadyState < 4 And IE.Busy
End Sub
此外,您可以尝试理解代码示例,根据自己的要求尝试修改它。
感谢您的理解。