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

[Resolvido] Selenium Basic: element click intercepted

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.
sergio_lara
Colaborador
Colaborador
Mensagens: 14
Registrado em: Ter Jun 11, 2019 6:19 pm

[Resolvido] Selenium Basic: element click intercepted

Mensagem por sergio_lara »

Boa noite.
Sou iniciante em VBA e em Selenium, mas estou empolgado com as possibilidades. No meu último projeto ao tentar fazer download de diversos arquivos *.PDF, todos acessíveis através de uma pesquisa (com login) no portal de periódicos CAPES, tive um problema novo. A mensagem de erro é "element click intercepted". Tetei diversos seletores, mas o erro persistiu em todos.

Print do erro em anexo
Erro clique VBA-Selenium.jpg
Erro clique VBA-Selenium.jpg (99.86 KiB) Exibido 12714 vezes
.

Como pra chegar à página é necessário login, anexo também um arquivo com o HTML
Strategic CSR.rar
(419.38 KiB) Baixado 450 vezes
.

O objetivo é clicar em "PDF (194 KB)" pra acessar o arquivo .pdf do artigo.

Nas minhas buscas encontrei alguma referência de solução em java, mas não consegui adaptar para o meu código VBA.

Para simular o processo execute o seguinte código:

Código: Selecionar todos

Private driver As WebDriver

Sub BaixarArtigosScopus()
    Set driver = New ChromeDriver
    driver.Get "https://www-emerald.ez16.periodicos.capes.gov.br/insight/content/doi/10.1108/IJCHM-10-2017-0697/full/html"
    driver.FindElementByXPath("//*[@id=""mainContent""]/div[1]/div/div[2]/header/a").Click
    driver.SwitchToNextWindow (1000)
    If driver.Title <> ("Strategic CSR for airlines: does materiality matter? | Emerald Insight") Then
        MsgBox "Deu certo!"
    Else
        MsgBox "Deu problema!"
    End If
    driver.Quit
End Sub
Editado pela última vez por sergio_lara em Qua Jul 31, 2019 1:55 pm, em um total de 2 vezes.


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.


sergio_lara
Colaborador
Colaborador
Mensagens: 14
Registrado em: Ter Jun 11, 2019 6:19 pm

Re: Selenium Basic: element click intercepted

Mensagem por sergio_lara »

Problema resolvido!
Percebi que o problema ocorria quando o link que devia ser clicado ficava na parte inferior da janela do navegador. Como eu fazia uma série de downloads, por padrão o google chrome cria uma barra de downloads e essa barra estava se sobrepondo ao link que devia ser clicado. Quando o Selenium tentava clicar no link, clicava na barra de downloads.

Solução:
Para remover a barra de downloads do google chrome eu usei o Always Clear Downloads 2 - https://chrome.google.com/webstore/deta ... gemplbfffn. Uma extensão do Chrome que fecha a barra após 5 segundos depois de finalizado o último download. Apenas precisei garantir que houvesse 5 segundos entre o download e o próximo clique, o que causou uma pequena demora desnecessária, mas resolveu o problema.
Para utilizar a extensão no ChromeDriver eu usei a dica do Tomás https://youtu.be/GxyO9EkoPc8

Depois que se descobre do que se trata, parece que era muito óbvio, mas isso meu deu muito trabalho...
Espero que o tópico seja útil.


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

Re: [Resolvido] Selenium Basic: element click intercepted

Mensagem por webmaster »

Útil demais! Valeu pela dica!


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