Clicar em um botão ...
 
Notifications
Clear all

Clicar em um botão na Web


maria.amaro
Posts: 2
Registered
Topic starter
(@maria-amaro)
New Member
Entrou: 3 semanas atrás

Bom dia, gente.

Estou tentando realizar uma consulta da cotação do dólar no site do Banco Central, mas não consigo clicar no botão "Pesquisar".

Aparece o seguinte erro: "A variável do objeto ou a variável do bloco "With" não foi definida".

Poderiam me ajudar?

 

Sub busca_dolar()
  Range("D3").ClearContents

  Set ie = CreateObject("InternetExplorer.Application")

  ie.navigate "https://www.bcb.gov.br/estabilidadefinanceira/historicocotacoes"
  ie.Visible = True

  Do While ie.busy And ie.readyState <> "READYSTATE_COMPLETE"
    DoEvents
  Loop

  ie.document.getelementsbyclassname("botao")(0).getelementsbytagname("Pesquisar")(0).Click 
  'erro

End Sub
Responder
2 Respostas
Raygsson
Posts: 56
Registered
(@raygsson)
Trusted Member
Entrou: 1 ano atrás

@maria-amaro

 

Você tem 2 problemas na sua rotina. 

O 1ª é que não existe uma tag com o nome de "Pesquisar", lá no HTML esse "Pesquisar" é o atributo "title"

ie.document.getelementsbyclassname("botao")(0).getelementsbytagname("Pesquisar")(0).Click

Pode efetuar o click desta forma:

ie.document.getelementsbyclassname("botao")(0).Click

Se quiser pode até pegar pelo atributo com o método QuerySelector:

ie.document.querySelector("[title=Pesquisar]").Click

O 2ª problema é que as informações que deseja manipular estão numa tag "Iframe", uma janela dentro do site Banco Central.

Esse Iframe esta direcionamando, atributo "src",  para um domínio direrente do domínio principal, vai ter acesso negado se for por essa url:

https://www.bcb.gov.br/estabilidadefinanceira/historicocotacoes

Isso tem relação com regras de segurança, mas pode ser contornado facilmente acessando diretamente a url da tag Iframe.

Sub busca_dolar()

  Range("D3").ClearContents

  Set ie = CreateObject("InternetExplorer.Application")

  ie.navigate "https://ptax.bcb.gov.br/ptax_internet/consultaBoletim.do?method=exibeFormularioConsultaBoletim"
  ie.Visible = True

  Do While ie.busy And ie.readyState <> "READYSTATE_COMPLETE"
    DoEvents
  Loop
  
  ie.document.querySelector("[title=Pesquisar]").Click
 
End Sub

 

Att,

Raygsson

 

Responder
1 Responder
maria.amaro
Registered
(@maria-amaro)
Entrou: 3 semanas atrás

New Member
Posts: 2

@raygsson Agora deu certo!

Muito obrigada.

Responder