Vídeo recomendado
https://youtu.be/diWPPPhW-9E

[RESOLVIDO] Tentando acessar informação dentro de iframe - Selenium

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
nanica
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Ter Mar 07, 2017 5:29 pm

[RESOLVIDO] Tentando acessar informação dentro de iframe - Selenium

Mensagem por nanica »

Caros, boa tarde.

Estou tentando fazer um código que faz uma consulta em determinado site. Ao realizar a consulta, uma janela tipo "popup" abre com os resultados da consulta, as quais quero extrair essas informações e jogar ao excel.

O problema é: noto que o problema é que o código não identifica de jeito nenhum o objetivo tipo iframe, para que eu possa pegar as informações dentro deste bloco. Veja um resumo do código da página:

Imagem

Estou tentando acessar objetos dentro do "iframe" destacado em roxo no código. Porém já tentei de "N" formas no VBA/ Selenium, e em todos eles, fala que o objeto não existe.

Consegui chegar até o endereço do "div class = modal-body" anterior ao iframe. Até ai, tudo bem. Quando tento acessar o iframe, não vem nada.

Alguém consegue me dizer qual a 'mágica' para acessar objetos tipo iframe (popup de tela) para que eu consiga ler as informações desse popup?
Preciso muito dessa ajudinha... :cry: :cry:

Qualquer dica, ficarei muito grata.
Abs,
Ariane
Anexos
cód html.png
cód html.png (37.57 KiB) Exibido 12135 vezes
Editado pela última vez por nanica em Qua Mai 10, 2017 7:20 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Tentando acessar informação dentro de iframe - Selenium

Mensagem por webmaster »

Qual selenium está usando? VBA ou SeleniumBasic?


nanica
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Ter Mar 07, 2017 5:29 pm

Re: Tentando acessar informação dentro de iframe - Selenium

Mensagem por nanica »

Boa noite...

Estou usando o selenium basic... uso a ferramenta através do complemento selenium IDE via Firefox e Chrome para testes.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Tentando acessar informação dentro de iframe - Selenium

Mensagem por webmaster »

Use o método switchToFrame("nome-do-frame") para acessar o frame. Após isso, a variável driver passará a fazer referência ao documento dentro do frame, não mais no documento principal.

Portanto, o IsElementPresent e todos os outros procurarão objetos dentro do frame depois da execução desse método. Use o SwitchToDefaultContent para voltar ao documento principal.

Att


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


nanica
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Ter Mar 07, 2017 5:29 pm

Re: Tentando acessar informação dentro de iframe - Selenium

Mensagem por nanica »

Vou testar esses comandos Tomás... em breve digo se deu certo ou não.

Muito obrigada!
Abs


nanica
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Ter Mar 07, 2017 5:29 pm

Re: Tentando acessar informação dentro de iframe - Selenium

Mensagem por nanica »

Tomás, deu super certo!
Excelente!

Obrigada pela ajuda e dica!
abs. :D


le_lo28
Colaborador
Colaborador
Mensagens: 11
Registrado em: Sex Dez 08, 2017 7:19 pm

Re: Tentando acessar informação dentro de iframe - Selenium

Mensagem por le_lo28 »

webmaster escreveu: Ter Mai 09, 2017 11:29 pm Use o método switchToFrame("nome-do-frame") para acessar o frame. Após isso, a variável driver passará a fazer referência ao documento dentro do frame, não mais no documento principal.

Portanto, o IsElementPresent e todos os outros procurarão objetos dentro do frame depois da execução desse método. Use o SwitchToDefaultContent para voltar ao documento principal.

Att
Fala ae blz?

Seguindo a sua dica, como eu faço para "pegar" o nome do frame quando ele é dinâmico? Percebi que toda vez que acesso a página o nome do frame e id mudam veja:

Código: Selecionar todos

<iframe id="fancybox-frame1513166542218"
name="fancybox-frame1513166542218"
class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitallowfullscreen=""
mozallowfullscreen="" allowfullscreen=""
scrolling="no" src="/revenda/veiculos/comprar/fiat-palio-1-0-mpi-fire-economy-8v-flex-4p-manual-2012-2013-70669"></iframe>
A única informação fixa é o class.

Agradeço antecipadamente qualquer informação.

Obrigado,

Marcelo


lucashlima20
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Ter Jan 16, 2018 6:51 am

Re: Tentando acessar informação dentro de iframe - Selenium

Mensagem por lucashlima20 »

le_lo28 escreveu: Qua Dez 13, 2017 10:24 am
webmaster escreveu: Ter Mai 09, 2017 11:29 pm Use o método switchToFrame("nome-do-frame") para acessar o frame. Após isso, a variável driver passará a fazer referência ao documento dentro do frame, não mais no documento principal.

Portanto, o IsElementPresent e todos os outros procurarão objetos dentro do frame depois da execução desse método. Use o SwitchToDefaultContent para voltar ao documento principal.

Att
Fala ae blz?

Seguindo a sua dica, como eu faço para "pegar" o nome do frame quando ele é dinâmico? Percebi que toda vez que acesso a página o nome do frame e id mudam veja:

Código: Selecionar todos

<iframe id="fancybox-frame1513166542218"
name="fancybox-frame1513166542218"
class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitallowfullscreen=""
mozallowfullscreen="" allowfullscreen=""
scrolling="no" src="/revenda/veiculos/comprar/fiat-palio-1-0-mpi-fire-economy-8v-flex-4p-manual-2012-2013-70669"></iframe>
A única informação fixa é o class.

Agradeço antecipadamente qualquer informação.

Obrigado,

Marcelo
Cara estou com o mesmo problema, voce encontrou alguma solução ?? ou alguem saberia alguma solução ?


le_lo28
Colaborador
Colaborador
Mensagens: 11
Registrado em: Sex Dez 08, 2017 7:19 pm

Re: [RESOLVIDO] Tentando acessar informação dentro de iframe - Selenium

Mensagem por le_lo28 »

Lucas,

Eu resolvi da seguinte forma:

Código: Selecionar todos

Call Driver.SwitchToFrame(0)
[\code]

Substitua o Driver pelo nome que você setou o seu navegador.

Falow,

Marcelo


marcelokim
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Ter Fev 20, 2018 3:50 pm

Re: [RESOLVIDO] Tentando acessar informação dentro de iframe - Selenium

Mensagem por marcelokim »

Estou automatizando uma pesquisa na internet com o Selenium Basic, mas cheguei em um ponto o qual não consigo resolver.
A pesquisa abre um iframe dentro de um fancy-box (ou ao contrario, não sei).
Não consigo apontar para este iframe de jeito nenhum.
Já visitei todo o fórum, achei um meio mas não consigo achar o objeto, nem com Xpath, CSS, Tag, nada...
Já estou há dois dias parado neste ponto.
Não entendi como resolveu.
Alguém pode me ajudar...
SOCORRO!

Vlw

Marcelo


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder