Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
VBA - Pesquisar na WEB DataPicker
-
- Colaborador
- Mensagens: 12
- Registrado em: Qui Set 06, 2018 7:40 pm
VBA - Pesquisar na WEB DataPicker
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
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
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: VBA - Pesquisar na WEB DataPicker
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:
Quaisquer dúvidas, estamos a disposição.
Tenha uma excelente semana.
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
Tenha uma excelente semana.
-
- Colaborador
- Mensagens: 12
- Registrado em: Qui Set 06, 2018 7:40 pm
Re: VBA - Pesquisar na WEB DataPicker
Mikel, muito obrigado.
então é o endereço da página que preciso mudar em todos os códigos desse site, certo?
Abs,
então é o endereço da página que preciso mudar em todos os códigos desse site, certo?
Abs,
-
- Colaborador
- Mensagens: 12
- Registrado em: Qui Set 06, 2018 7:40 pm
Re: VBA - Pesquisar na WEB DataPicker [RESOLVIDO]
Mikel, muito obrigado.
então é o endereço da página que preciso mudar em todos os códigos desse site, certo?
Abs,
então é o endereço da página que preciso mudar em todos os códigos desse site, certo?
Abs,
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: VBA - Pesquisar na WEB DataPicker
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.
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.