VBA/IE:如何使用VBA单击网站上的按钮



我是VBA的新手,希望这里有人能帮我做以下事情:

我想使用VBA打开一个网站,然后单击该网站上的两个不同按钮。

我在这方面面临的挑战是:
1)如何告诉代码等待网页完全加载,以便确保要单击的按钮确实可见
2)如何使用按钮的唯一ID正确寻址按钮?

到目前为止我的代码:

Dim varResults As New DataObject
Dim varButtonID As String
Dim i As Long
Dim objIE As Object
Dim objElement As Object
Dim objCollection As Object
varResults.SetText TxtSql.Text
varResults.PutInClipboard
' assign button ID
varButtonID = "Oracle_setExplainOptionsSpan"
' create IE object
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
.navigate "https://myURL"
.Visible = True
End With
While objIE.ReadyState <> 4: Wend
objIE.document.getElementById(varButtonID).Click

在此之前非常感谢您的帮助,Mike

您可以尝试按类名查找按钮来单击按钮。

With ie.document
Set elements = .getelementsbytagname("input")
For Each e In elements
If (e.getattribute("className") = "btnComment") Then
e.Click
Exit For
End If
Next e
End With

我想不出一个VBA命令会一直等到页面加载,但您可以输入一个有固定等待时间的等待语句。

Application.Wait(Now + #0:00:01#)

我总是使用Do While循环等待页面加载后再继续。

Do While IE.ReadyState <> READYSTATE_COMPLETE
Loop

最新更新