我目前正在使用VBA和Excel自动化我的IE,因为我们在Internet Explorer中调用的SAP系统中有一些重复性任务要完成。
到目前为止,我能够启动IE并导航到我们系统的起始页面。
我查看了Sap系统的源代码,以便从div中搜索id(比如说它的'SampleID')。但是,如果我尝试通过vba点击它,我只会返回'没有'。所以我试图通过vba Debug.Print打印出源代码来查看问题。事情就是这样:
打印的源代码与网站的源代码完全不同。在打印的代码中,例如我无法在网站源代码中找到的iframe。这就是我无法找到我的div和任何其他对象的原因,因为它们不在vba搜索的代码中。 谁能告诉我什么出错了?为什么源代码完全不同?我会很感激一些提示!
Sub stgGo(){
Dim i As Long
Dim IE As InternetExplorerMedium
Dim objElement As Object
Dim objCollection As Object
Set IE = New InternetExplorer
IE.Visible = True
IE.Navigate ("URL")
'waiting 10 seconds to be really sure javascript is ready
Application.Wait (Now + TimeValue("0:00:10"))
'printing out the false source code
Debug.Print strHTML = myIE.Document.body.innerHTML
Set objCollection = IE.document.getElementsByTagName("div")
i = 0
While i < objCollection.Length
If objCollection(i).ID = "SampleID" Then
objCollection(i).Click
End If
i = i + 1
Wend
End Sub