Automação VBA do IE - Ler iFrame
Nosso negócio usa um programa baseado em navegador para operações. Estou automatizando uma solução para navegar por este site e recuperar alguns dados no final.
O site em si usa frames regulares muito fortemente. No entanto, no final do processo, ele preenche meus dados não em um quadro, mas em um iFrame. Há também um javascript muito extenso em todo o site, tornando as coisas confusas.
Agarrando o URL src do iFrame e abrindo em um novo navegador, erros na página (ou seja, a página exibe o texto do erro em vez do conteúdo).
Minha pergunta:
Como posso pegar o texto de um iFrame através do VBA?
O que eu tentei até agora (fique à vontade para pular):
Segmente um iFrame específico em um quadro específico e capture innerHTML
With ie.document.frames(myFrameNum).document.getElementsByTagName("iframe")(1).document.body
stringResult = .innerHTML
Segmente um iFrame específico por ID em um quadro específico e pegue innerHTML
Dim iFrm As HTMLIFrame
Set iFrm = ie.document.frames(myFrameNum).document.getElementByID("iFrameID")
Debug.Print iFrm.document.body.innerText
Encontre quaisquer instâncias de iFrames e agarre-as (Nenhum resultado - talvez porque o iframe está embutido em um quadro?)
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