VBA IE Automation - iFrame lesen

Unser Unternehmen verwendet ein browserbasiertes Programm für den Betrieb. Ich automatisiere eine Lösung, um durch diese Site zu navigieren und am Ende einige Daten abzurufen.

Die Website selbst verwendet sehr häufig normale Frames. Am Ende meines Prozesses werden meine Daten jedoch nicht in einem Frame, sondern in einem iFrame gespeichert. Es gibt auch sehr umfangreiches Javascript auf der Website, wodurch die Dinge schlammig werden.

Wenn Sie die Quell-URL des iFrames abrufen und in einem neuen Browser öffnen, wird die Seite fehlerhaft dargestellt (d. H. Die Seite zeigt anstelle des Inhalts einen Fehlertext an).

Meine Frage:

Wie kann ich den Text über VBA aus einem iFrame holen?

Was ich bisher versucht habe (zögern Sie nicht zu überspringen):

Zielen Sie auf einen bestimmten iFrame in einem bestimmten Frame und greifen Sie auf innerHTML zu

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

Richten Sie ein bestimmtes iFrame nach ID in einem bestimmten Frame aus und greifen Sie auf innerHTML zu

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

Suchen Sie nach Instanzen von iFrames und greifen Sie zu (Keine Ergebnisse - möglicherweise, weil der Iframe in einen Frame eingebettet ist?)

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

Antworten auf die Frage(5)

Ihre Antwort auf die Frage