VBA IE Automation - Czytaj iFrame

Nasza działalność wykorzystuje oparty na przeglądarce program do operacji. Automatyzuję rozwiązanie do poruszania się po tej stronie i pobierania niektórych danych na końcu.

Sama strona bardzo często używa zwykłych ramek. Jednak na samym końcu mojego procesu wypełnia moje dane nie w ramce, ale w ramce iFrame. W całej witrynie jest także bardzo rozbudowany JavaScript, co sprawia, że ​​rzeczy są mętne.

Chwytanie adresu URL src iFrame i otwieranie w nowej przeglądarce błędów strony (tj. Strona wyświetla tekst błędu zamiast treści).

Moje pytanie:

Jak mogę pobrać tekst z iFrame przez VBA?

Co próbowałem do tej pory (możesz pominąć):

Wyceluj w konkretną ramkę iFrame w konkretnej ramce i chwytaj innerHTML

With ie.document.frames(myFrameNum).document.getElementsByTagName("iframe")(1).document.body
stringResult = .innerHTML

Kieruj konkretną ramkę iFrame według identyfikatora w określonej ramce i przechwyć innerHTML

Dim iFrm As HTMLIFrame
Set iFrm = ie.document.frames(myFrameNum).document.getElementByID("iFrameID")
Debug.Print iFrm.document.body.innerText

Znajdź dowolne wystąpienia ramek iFrame i złap je (Brak wyników - być może dlatego, że element iframe jest osadzony w ramce?)

Dim iFrm As HTMLIFrame
Dim doc As HTMLDocument
 For iterator = 0 To ie.document.all.Length - 1
  If TypeName(ie.document.all(iterator)) = "HTMLIFrame" Then
   Set iFrm = ie.document.all(iterator)
   Set doc = iFrm.document
   Debug.Print & doc.body.outerHTML
  End If
Next

questionAnswers(5)

yourAnswerToTheQuestion