Página 1 de 1

VBA - Pesquisar na WEB DataPicker

Enviado: Dom Nov 18, 2018 4:13 pm
por Paulo Pavan
Pessoal, Boa Tarde!

Sou novo no Fórum e tb não sou programador, sou curioso. As coisas que preciso eu pesquiso e descubro como fazer, entretanto, estou tentando importar informações da Web através de VBA (HTMLDocument) e estou tendo problemas.

O que quero fazer primeiramente é conseguir colocar no campo data do site em questão uma determinada data e depois clicar em pesquisar, acontece que, acredito eu, devido o objeto ser DatePicker não estou sabendo como fazer para colocar a data que quero no campo dData1 e depois quero clicar no botão OK que tb não encontrei como localizá-lo no HTML.

Poderiam me ajudar, por favor?


Campo do Site
<input type="text" name="dData1" id="dData1" placeholder="dd/mm/aaaa" class="datepicker hasDatepicker" onkeypress="javascript:mask_data('2','0',true,frmBD);" value="" maxlength="10">


Código que estou tentando usar. da a mensagem "Erro em tempo de execução 438 O objeto não aceita esta propriedade ou métodos".

Dim dData As Date
dData = "13/11/2018"

Dim IE As New InternetExplorer
IE.Visible = True
IE.navigate "http://www.bmfbovespa.com.br/pt_br/serv ... ticipante/"

Do
DoEvents
Loop Until IE.readyState = READYSTATE_COMPLETE

Dim Doc As HTMLDocument
Set Doc = IE.document

IE.document.getElementsByName("dData1").innerText = dData

Re: VBA - Pesquisar na WEB DataPicker

Enviado: Seg Nov 19, 2018 2:47 pm
por Mikel Silveira Fraga
Paulo, boa tarde e seja muito bem vindo ao fórum.

Meu amigo, esse seu código estava com a lógica correta, mas para se trabalhar com WebScraping, é necessário conhecer um pouco de Html, e essa foi sua falha.

O que ocorre é que dentro do site que você estava carregando, existe um elemento Html chama iFrame, que basicamente permite que um outro arquivo .html seja carregado, como se fosse uma sub-página. Esta data que você estava tentando acessar, estava dentro deste iFrame e, por esse motivo, você não conseguia acessá-lo.

Teste o código abaixo, que deve funcionar agora:

Código: Selecionar todos

Sub TesteAcesso()

  Dim dData As Date
  dData = "13/11/2018"
  
  Dim IE As New InternetExplorer
  IE.Visible = True
  'IE.Navigate "http://www.bmfbovespa.com.br/pt_br/servicos/market-data/consultas/mercado-de-derivativos/contratos-em-aberto/por-tipo-de-participante/"
  IE.Navigate "http://www2.bmf.com.br/pages/portal/bmfbovespa/lumis/lum-tipo-de-participante-ptBR.asp"
  
  Do
    DoEvents
  Loop Until IE.readyState = READYSTATE_COMPLETE
  
  Dim Doc As HTMLDocument
  Set Doc = IE.Document
  
  Doc.getElementById("dData1").Value = VBA.Format(dData, "dd/mm/yyyy")
  Doc.getElementsByClassName("button expand").Item(, 0).Click

End Sub
Quaisquer dúvidas, estamos a disposição.

Tenha uma excelente semana.

Re: VBA - Pesquisar na WEB DataPicker

Enviado: Qui Nov 22, 2018 6:35 pm
por Paulo Pavan
Mikel, muito obrigado.

então é o endereço da página que preciso mudar em todos os códigos desse site, certo?

Abs,

Re: VBA - Pesquisar na WEB DataPicker [RESOLVIDO]

Enviado: Qui Nov 22, 2018 6:37 pm
por Paulo Pavan
Mikel, muito obrigado.

então é o endereço da página que preciso mudar em todos os códigos desse site, certo?

Abs,

Re: VBA - Pesquisar na WEB DataPicker

Enviado: Sex Nov 23, 2018 3:12 pm
por Mikel Silveira Fraga
Paulo, boa tarde.

Não sei o que mais você precisa acessar, mas dentro das ações que você descreveu precisar realizar, o endereço precisar ser o que eu passei no código acima.

Caso tenha outras ações a serem realizadas, é necessário avaliar se não existem outros iFrames espalhados na página, que possam influenciar na execução do seu código.

Quaisquer outras dúvidas, estamos a disposição.