首页 > 解决方案 > 用于登录并单击一个按钮/链接的 VBA 代码

标签

问题描述

我对 VBA 非常陌生,并且一直在观看大量荒谬的 youtube 视频(特别是明智的猫头鹰教程),并在这里搜索以尝试找到我的问题的答案。我正在编写代码来自动化我的部分工作。我有登录网站的代码,因为我使用机密文档,所以我不能分享,但我会分享我能分享的。这是到目前为止的代码......

Sub Login_and_click_link()

Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim HTMLDiv As MSHTML.IHTMLElement
Dim HTMLAs As MSHTML.IHTMLElementCollection
Dim HTMLA As MSHTML.IHTMLAnchorElement

'Open Internet Explorer and Navigate to PDDA
With IE
    .Visible = True
    .Navigate "http://.TheWebsiteINeed.com"
End With

'Loop until PDDA page has fully loaded
    Do While IE.ReadyState <> READYSTATE_COMPLETE
    Loop

'Search DOM for element by ID and input username
Set HTMLDoc = IE.Document
Set HTMLInput = HTMLDoc.getElementById("userName")
HTMLInput.Value = Worksheets("sheet1").Range("letternumber").Text

'Search DOM for an element by ID and input password
Set HTMLInput = HTMLDoc.getElementById("Password")
HTMLInput.Value = Worksheets("sheet1").Range("letternumber").Text

'Search DOM for element by ID and click submit
Set HTMLInput = HTMLDoc.getElementById("submit")
HTMLInput.Click
    
'Navigate to the tab I need
??????

End Sub

页面上有两个链接,每个链接都会将我带到下一个我需要的页面。因此,无论哪个更容易为您编写代码都可以使用。

顶部的链接是这样的(在 tr 标签内):

<span> class="topNavoff" style="cursor: hand;" onmouseover="window.status='Process 
Management';this.className='topNavon';" 
onmouseout="window.status='';this.className='topNavoff';" 
onclick="setTask('pmMain');">Process</span>

底部的链接是这样的(在 ap 标签内):

<span> class="contentSubtitleLink" id="process" style="cursor: hand;" 
onmouseover="window.status='Process Management';" onmouseout="window.status='';" 
onclick="setTask('pmMain');">Process</span>

让我知道是否有任何我可以发送的内容来帮助更清楚地说明这一点。任何帮助将不胜感激!

标签: vbabuttonhyperlinkonclickparagraph

解决方案


推荐阅读