С помощью кода ниже я пытаюсь получить данные таблицы, которые находятся в iframe
с именем displayFrame
. Любая помощь приветствуется. Но ошибка ниже при доступе к innertext
:
Run-time error 438:
Object doesn't support this property or method
Код:
Sub GetTableFromIframe()
Dim Ie As New InternetExplorer
Dim WebURL
Dim Docx As HTMLDocument
Dim productDesc As Object
Ie.Visible = True
WebURL = "https://example.com"
Ie.Navigate2 WebURL
Do Until Ie.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set Docx = Ie.document
Do Until Not productDesc Is Nothing
Set productDesc = Docx.Window.Frames("displayFrame").contentWindow ' gtetting same error here
Sleep 1000
Loop
productDesc = Docx.Window.frames("displayFrame").contentWindow.document.getElementsByClassName("Table")(0).innerText
Debug.Print productDesc
End Sub
Другой макрос получает другую ошибку, добавленную в комментарии:
Sub GetIframeContent()
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
Dim productDesc As Object
objIE.Visible = True
objIE.navigate "https://webtac.industrysoftware.automation.siemens"
While objIE.readyState <> 4
DoEvents
Wend
Open "d:\temp\test.log" For Output As #3
MsgBox objIE.document.getElementsByTagName("iframe")(0).contentDocument.getElementsByTagName("body")(0).innerText ' gets error Object variable or with block variable not set
'Write #3, objIE.document.getElementsByTagName("iframe")(0).contentDocument.getElementsByClassName("under")(0).innerHTML
Write #3, productDesc
Close #3
Set objIE = Nothing
End Sub
Parent страница:
Iframe page:
введите описание изображения здесь