我正在用excel编写VBA代码以打开网页,并在网页的DOM资源管理器中读取所有HTML内容,并将其存储在excel的单元格中。
我在下面粘贴我的代码;此代码跳过了主HTML iframe中的HTML内容。 (基本上,它会跳过主要HTML中的次要HTML)。但是我需要从DOM资源管理器中查看完整的HTML。有人可以帮我吗?
Sub WebPage_SourceCode()
Dim IEapp As InternetExplorer
Dim WebUrl As String
Dim Doc As HTMLDocument
Dim Elements As IHTMLElementCollection
Set IEapp = New InternetExplorer
WebUrl = "https://abcd.com/"
With IEapp
.Silent = True
.Visible = True
.Navigate WebUrl
Do While .Busy = True Or .READYSTATE <> 4
DoEvents
Loop
End With
pagesource = IEapp.Document.body.innerHTML
Cells(1, 1) = pagesource
End Sub
我还尝试使用以下代码获取每个iframe的元素并将其存储在不同的单元格中,但是读取iframe标记后HTML中的元素。
Set Doc = IEapp.Document
Set Elements = Doc.getElementsByTagName("iframe")
i = 1
For Each element In Elements
Cells(i, 1) = element.className
Cells(i, 2) = element.innerHTML
Cells(i, 3) = element.outerHTML
i = i + 1
Next
下面是指向HTML部分的链接。 VBA会跳过iframe中的HTML(以红色边框突出显示)。 VBA读取iframe前后的任何代码。