我是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