繁体   English   中英

VBA即浏览多个会话

[英]vba ie navigate multiple sessions

我正在使用VBA通过此网站访问IE,但是有一个我不知道的问题。 该网页跟踪是否有多个打开的窗口会话,并在我开始导航到另一个窗口时注销我。 有没有办法在不断开连接的情况下继续会话并导航回上一页?

附带说明,该网页不是公共领域。

这是我不起作用的内容:

Dim IE As Object
Set IE = New InternetExplorerMedium
IE.Visible = True

'code to Login to webpage went here

Set doc = IE.document

doc.getElementById("txtFileNumber").Value = "12345678"
doc.getElementById("cmdSearch").Click

Do While .Busy Or .READYSTATE <> 4
    DoEvents
Loop

Dim requested as Object
Dim trans As String
Set requested = doc.getElementById("TransitLink")
If requested.isDisabled = False Then
    trans = requested.href
End If

IE.navigate trans ' <----msgbox comes up "Multiple sessions not allowed"

如果有帮助,这是HTML代码的一部分。

<a id="TransitLink" title="In Transit" class="button" onClick="inqPopups[7] = window.open(this.href, 'popup7', 'WIDTH=350,HEIGHT=250,scrollbars,resizable,status,toolbar=yes'); (document.getElementById('txtFileNumber')).focus(); (document.getElementById('txtFileNumber')).select(); inqPopups[7].focus(); return false;" href="TransactionInTransit.aspx?... style="color:Blue;">In Transit</a>

    var inqPopups = new Array();
    function closeSubWindow() {
        for (var i = 0; i < inqPopups.length; i++) {
            if (inqPopups[i] && !inqPopups[i].closed) {
                inqPopups[i].close();
            }
        }
    }

尝试使用With IE并执行所有代码和End With

Dim IE As Object
Set IE = New InternetExplorerMedium

Wtih IE
.Visible = True

'code to Login to webpage went here

Set doc = IE.document
doc.getElementById("txtFileNumber").Value = "12345678"
doc.getElementById("cmdSearch").Click
Do While .Busy Or .readyState <> 4
    DoEvents
Loop

Dim requested As Object
Dim trans As String
Set requested = doc.getElementById("TransitLink")
If requested.isDisabled = False Then
    trans = requested.href
End If

.navigate trans  


' Rest of code

.Quit ' close ie window
End With      'once done with IE window

由于您已Set IE = New因此每次都会创建IE的新实例。 因此,要将其全部保留在一个窗口中,必须使用With IE End With方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM