Olá pessoal, hoje vamos falar sobre duas ferramentas poderosas para automação de tarefas no navegador: PyAutoGUI e Selenium. Esses pacotes Python são muito utilizados para simular a interação humana com o mouse e o teclado, permitindo automatizar uma variedade de tarefas.
PyAutoGUI: Manipulando Mouse e Teclado
O PyAutoGUI é uma biblioteca Python que permite controlar o mouse e o teclado para realizar ações automatizadas. Com o PyAutoGUI, podemos simular cliques do mouse, movimentos, pressionamentos de teclas e muito mais.
No código que estamos explorando, estamos usando o PyAutoGUI para clicar em diferentes elementos usando coordeandas de tela, rolar a tela para baixo e realizar pressionamentos de teclas, como Ctrl + A, Ctrl + C e Ctrl + V para copiar e colar dados.
Selenium: Automação de Navegação Web
O Selenium é uma ferramenta popular para automação de testes e navegação web. Ele permite controlar um navegador web real, como o Chrome ou Firefox, para interagir com páginas da web, preencher formulários, clicar em botões e muito mais.
No código fornecido, estamos utilizando o Selenium para abrir o navegador Chrome, acessar uma página da web específica e aguardar o carregamento completo da página antes de continuar com as ações de automação.
Pacote Time: Aguardando a Execução Completa
O pacote Time é uma biblioteca Python que fornece funções relacionadas à manipulação de tempo. No código fornecido, estamos usando o Time para aguardar um determinado período entre as ações de automação. Isso garante que as ações sejam executadas no momento certo, evitando erros devido a um carregamento incompleto da página ou outras condições.
Exemplo:
Usamos o código abaixo para acessar a página do IBGE e copiar os dados direto do navegador:
import pyautogui import time from selenium import webdriver # Caminho onde encontrar-se seu navegador chrome_path = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" # Opções do Chrome chrome_options = webdriver.ChromeOptions() # Definindo o caminho do executável do Chrome chrome_options.binary_location = chrome_path # Inicializando o driver do Chrome driver = webdriver.Chrome(options=chrome_options) # URL para abrir url = "https://www.ibge.gov.br/estatisticas/downloads-estatisticas.html" # Abrindo a página no Chrome driver.get(url) # Aguarda a página carregar totalmente time.sleep(10) # clica em Acesso_a_internet_e_posse_celular pyautogui.click(x=54, y=754) # rolagem de tela para baixo quantidade_rolagem = 300 pyautogui.scroll(-quantidade_rolagem) # aguarda dois segundos time.sleep(2) # clica em 2015 pyautogui.click(x=113, y=668) # aguarda dois segundos time.sleep(2) # clica em Tabelas_de_Resultados pyautogui.click(x=176, y=749) # aguarda dois segundos time.sleep(2) # clica na seta indice_de_tabelas.txt pyautogui.click(x=151, y=854) # aguarda dois segundos time.sleep(2) # clica na parte superior da tela que abriu o csv pyautogui.click(x=34, y=200) # aguarda dois segundos time.sleep(2) # Ctrl + A para selecionar os dados pyautogui.hotkey('ctrl', 'a') # Ctrl + C para copiar os dados pyautogui.hotkey('ctrl', 'c') # Crica a tecla windows pyautogui.press('win') # aguarda um segundos time.sleep(1) # Digita Bloco de notas na barra de pesquisa pyautogui.write('Bloco de Notas', interval=0.1) time.sleep(1) # Clica enter para abrir o Bloco de notas pyautogui.press('enter') # aguarda dois segundos time.sleep(2) # Ctrl + V para colar os dados copiados pyautogui.hotkey('ctrl', 'v') # aguarda um segundos time.sleep(1) # Ctrl + S para salvar, os dados serão salvos na pasta que foi salvo no historico, geralmente salva na area de trabalho. pyautogui.hotkey('ctrl', 's') # aguarda dois segundos time.sleep(1) # salva com o nome dados_copiados, caso queira salvar com outro nome basta alterar o texto pyautogui.write('dados_copiados.txt') # pressiona Enter para salvar pyautogui.press('enter') # Fecha o bloco de notas pyautogui.hotkey('alt', 'f4') #_________*****_________________ #Use o comando abaixo, para identificar as posições x e y de sua tela #x, y = pyautogui.position() #print(f"Coordenadas do mouse: x = {x}, y = {y}")
- Importante:
Antes de testar o código, certifique-se de ajustar as coordenadas de acordo com a sua tela, pois esses números podem variar em diferentes computadores. Você pode utilizar o seguinte código para identificar as coordenadas corretas:
x, y = pyautogui.position()
print(f"Coordenadas do mouse: x = {x}, y = {y}")
para identificar essas coordenadas.
Conclusão
PyAutoGUI e Selenium são ferramentas poderosas para automação de tarefas no navegador. Combinando esses pacotes, podemos criar scripts que simulam a interação humana com o navegador, permitindo automatizar uma variedade de tarefas repetitivas.
Espero que este post tenha sido útil e que você esteja animado para começar a explorar as possibilidades de automação com Python. Fique à vontade para experimentar e adaptar o código fornecido para suas próprias necessidades.
Obrigado!
Veja também:
Compartilha conteúdo