4
respostas

Python com Selenium automação de processos no navegador.

Estou tentando fazer uma automação de um processo manual executado no navegador, mas agora não consigo seguir, devido a aplicação que executa no navegador, fica eternamente em loading, mesmo com as informações já disponivel na tela isso é uma caracteristica dessa aplicação. Sendo assim, não consigo interagir com está tela. Se alguém tiver alguma sugestão ficarei feliz. Obrigado

4 respostas

Oii, Thiago. Tudo bem?

Você pode usar o método WebDriverWait do Selenium! Ele serve para aguardar até que um elemento específico da página esteja visível ou "interagível" antes de prosseguir com a automação. Dessa forma, você pode garantir que a página tenha carregado completamente antes de tentar interagir com ela.

Abaixo vou deixar um exemplo de como usar o WebDriverWait:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# Espera até que o elemento com o id "elemento-alvo" esteja visível
elemento = WebDriverWait(driver, 10).until(
    EC.visibility_of_element_located((By.ID, "elemento-alvo"))
)

# Agora você pode interagir com o elemento
elemento.click()

No exemplo acima, o código espera até que o elemento com o id elemento-alvo esteja visível na página antes de continuar com a automação. Você pode substituir o seletor By.ID por outros seletores também, isso a depender da estrutura da página.

Espero que isso dê uma ajudinha com o seu projeto! :)

Se outra dúvida surgir, fique à vontade para postar aqui no fórum.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Boa tarde,

Já tentei fazer destá forma, mas infelizmente não funciona, estou acessando a monitoração de um equipamento, via navegador e uma caracteristica é que o navegador fica sempre em loading, pois ele fica verificando o status do equipamento.

Oii, Thiago! Tudo certo?

Antes de tudo, peço desculpas pela demora.

Já que o Selenium não está dando um resultado legal, recomendo você usar o PyAutoGUI. Ele também automatiza processos manuais com o Python. Temos, inclusive, um Alura+ sobre o assunto. Acredito que é uma alternativa boa pra te ajudar nisso.

Abraços!

Olá, boa tarde.

Consegui avançar no assunto e acredto que o caminho, para alcançar meus objetivos, deve ser Selenium + API, obrigado pela resposta.