如何单击页面中所有相同的链接,并一一点击返回?

问题描述 投票:0回答:1

您能否在此代码上为我提供帮助,如果第二个循环时间出现问题,我会拒绝错误权限(我单击第一个URL,它打开,我返回,我想在此单击第二个相同的URL页面,但错误仍然消失。)非常感谢您的帮助。

Dim fourdoc As HTMLDocument
Set fourdoc = objIE.document

Dim t As Long, i As Long


Dim delement As MSHTML.HTMLInputElement
Dim delements As MSHTML.IHTMLElementCollection
Set delements = fourdoc.getElementsByTagName("a")

For Each delement In delements
        '''''''''''''''''''''''''''''
        Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
        Loop
        ''''''''''''''''''''''''''''
    If delement.ClassName = "dialogUrl aImg" Then     '' error permission denied there second time loop for''
        '''''''''''''''''''''''''''''
        Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
        Loop
        '''''''''''''''''''''''''''''
        delement.Click
        '''''''''''''''''''''''''''''
        Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
        Loop
        '''''''''''''''''''''''''''''
        Set fourdoc = objIE.document
        '''
        'here do your stuff within the new url
        '''
        objIE.GoBack
        '''''''''''''''''''''''''''''
        Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
        Loop
        '''''''''''''''''''''''''''''
        Set fourdoc = objIE.document
        '''''''''''''''''''''''''''''
        Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
        Loop
        ''''''''''''''''''''''''''''
    End If
Next


End With

End Sub
vba hyperlink children back permission-denied
1个回答
1
投票
After 24h of reflexion, ive got the solution : 

将fourdoc转换为HTMLDocument设置fourdoc = objIE.document

Dim i As Integer
Dim t As Integer

'Dim delement As MSHTML.IHTMLElement
Dim delements As Object
Set delements = fourdoc.getElementsByClassName("dialogUrl aImg")
t = delements.Length
Debug.Print t

For i = 0 To t - 1
        '''''''''''''''''''''''''''''
        Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
        Loop
        ''''''''''''''''''''''''''''
        Set fourdoc = objIE.document
        Set delements = fourdoc.getElementsByClassName("dialogUrl aImg")
        '''''''''''''''''''''''''''''
        Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
        Loop
        ''''''''''''''''''''''''''''
        delements(i).Click
        '''''''''''''''''''''''''''''
        Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
        Loop
        ''''''''''''''''''''''''''''
        objIE.GoBack
        '''''''''''''''''''''''''''''
        Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
        Loop
        '''''''''''''''''''''''''''''
Next i

感谢您的帮助!正在运行。再见]

© www.soinside.com 2019 - 2024. All rights reserved.