0

我目前正在尝试使用 VBA 和 Excel 自动化我的 IE,因为我们有一些重复性任务要在 Internet Explorer 中调用的 SAP 系统中完成。
到目前为止,我能够启动 IE 并导航到我们系统的起始页。

我查看了 Sap System 的源代码以从 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
4

0 回答 0