Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Como "disparar" script presente na página [RESOLVIDO]
Como "disparar" script presente na página [RESOLVIDO]
Olá, tudo bem ?
Estou tentando interagir com esses elementos de input que estão presentes na página, mas tem um script me impedindo. Quando tento clicar sobre ele tenho o erro: 'element is not interactable', alguém sabe como posso contornar isso ?
Estou tentando interagir com esses elementos de input que estão presentes na página, mas tem um script me impedindo. Quando tento clicar sobre ele tenho o erro: 'element is not interactable', alguém sabe como posso contornar isso ?
- Anexos
-
- im1.JPG (51.75 KiB) Exibido 2263 vezes
-
- im2.JPG (57.53 KiB) Exibido 2263 vezes
Editado pela última vez por gustavoh em Ter Jul 12, 2022 8:38 am, em um total de 1 vez.
Re: Como "disparar" script presente na página
Esqueci de informar, desculpa. Estou utilizando o Selenium.
Re: Como "disparar" script presente na página
Desculpe Gustavo, só entendi direito a pergunta agora.
Com o devtools ativado (F12), você pode usar botão de buscar elemento pra evitar o bloqueio de script:
Com o devtools ativado (F12), você pode usar botão de buscar elemento pra evitar o bloqueio de script:
Re: Como "disparar" script presente na página
Muito obrigado pela ajuda, mas acho que não entendi muito bem
Toda vez que eu executar o script eu preciso fazer isso antes dele começar a executar ?
Vou anexar o código, acredito que possa facilitar:
Toda vez que eu executar o script eu preciso fazer isso antes dele começar a executar ?
Vou anexar o código, acredito que possa facilitar:
Código: Selecionar todos
Sub teste()
Set driver = New ChromeDriver
driver.Get "http://plataforma.sun21.com.br"
Application.Wait (Now + TimeValue("00:00:03"))
driver.FindElementById("txtnome").SendKeys "teste"
Application.Wait (Now + TimeValue("00:00:03"))
driver.FindElementById("txtpass").SendKeys "teste"
Application.Wait (Now + TimeValue("00:00:03"))
driver.FindElementByName("btnPesquisar").Click
Application.Wait (Now + TimeValue("00:00:03"))
End Sub
Re: Como "disparar" script presente na página
Boa tarde, webmaster. Acrescentei o código que tentei executar.
Re: Como "disparar" script presente na página
gustavoh,
De fato o problema existe porque o código está rodando antes do elemento estar na página. Para estes casos, use isto:
https://www.tomasvasquez.com.br/blog/mi ... na-pagina/
De fato o problema existe porque o código está rodando antes do elemento estar na página. Para estes casos, use isto:
https://www.tomasvasquez.com.br/blog/mi ... na-pagina/
Re: Como "disparar" script presente na página
Muito obrigado pela ajuda, fiz alguns testes aqui, mas o código não saiu do While do IsElementPresent, tentei clicar no input para "disparar" o script, mas deu erro falando que ele não estava visível :/
Sub teste()
Sub teste()
Código: Selecionar todos
Set driver = New ChromeDriver
Dim por As New By
Call driver.SetCapability("ignoreZoomSetting", True)
driver.Get "http://plataforma.sun21.com.br"
Application.Wait (Now + TimeValue("00:00:03"))
'driver.FindElementByName("txtnome").Click
While driver.IsElementPresent(por.ID("txtnome"))
'espera por um segundo
'o uso do Application.Wait serve para não congelar a execução do VBA
Application.Wait Now + TimeValue("00:00:01")
Wend
MsgBox ("sai")
driver.FindElementById("txtnome").SendKeys "teste"
End Sub
Re: Como "disparar" script presente na página
gustavoh,
O código está fazendo o que pediu
Esta linha:
Quer dizer: Espere o enquanto o elemento estiver presente.
O que você realmente quer é:
Testei aqui e funcionou
O código está fazendo o que pediu
Esta linha:
Código: Selecionar todos
While driver.IsElementPresent(por.ID("txtnome"))
O que você realmente quer é:
Código: Selecionar todos
While Not driver.IsElementPresent(por.ID("txtnome"))