Advertisement
MizunoBrasil

Automação Python 1

Jun 15th, 2023
572
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.43 KB | None | 0 0
  1. import os
  2. import threading
  3. import tkinter as tk
  4. from tkinter import messagebox
  5. from selenium import webdriver
  6.  
  7. # Função que será executada em segundo plano
  8. def executar_acoes():
  9.     # Obtém o diretório atual
  10.     diretorio_atual = os.getcwd()
  11.  
  12.     # Define o caminho completo para o arquivo "paginas.txt" na pasta atual
  13.     caminho_arquivo = os.path.join(diretorio_atual, 'paginas.txt')
  14.  
  15.     # Inicializa o ChromeDriver (verifique se você tem o driver do Chrome instalado)
  16.     driver = webdriver.Chrome()
  17.  
  18.     # Abre o arquivo para adicionar (ou criar se não existir)
  19.     arquivo = open(caminho_arquivo, 'a')
  20.  
  21.     # Obtém o texto da caixa de texto
  22.     urls = caixa_texto.get("1.0", tk.END).strip().split('\n')
  23.  
  24.     for url in urls:
  25.         url = url.strip()
  26.         if url:
  27.             try:
  28.                 # Abre uma página no Chrome
  29.                 driver.get(url)
  30.  
  31.                 # Obtém a URL atual da página
  32.                 url_atual = driver.current_url
  33.  
  34.                 # Obtém o título da página
  35.                 titulo = driver.title
  36.  
  37.                 # Salva a URL e o título no arquivo    
  38.                 arquivo.write("Título: {}\n".format(titulo))
  39.                 arquivo.write("{}\n".format(url_atual))
  40.                 arquivo.write("\n")
  41.             except Exception as e:
  42.                 messagebox.showerror("Erro", f"Ocorreu um erro ao processar a URL: {url}\nErro: {str(e)}")
  43.  
  44.     # Fecha o arquivo
  45.     arquivo.close()
  46.  
  47.     # Encerra o ChromeDriver
  48.     driver.quit()
  49.  
  50.     # Exibe uma mensagem de conclusão
  51.     messagebox.showinfo("Concluído", "Ações concluídas. Verifique o arquivo {}.".format(caminho_arquivo))
  52.  
  53. # Função para limpar a caixa de texto
  54. def limpar_caixa_texto():
  55.     caixa_texto.delete("1.0", tk.END)
  56.  
  57. # Cria a janela
  58. janela = tk.Tk()
  59. janela.title("Aplicação")
  60.  
  61. # Cria a caixa de texto
  62. caixa_texto = tk.Text(janela, height=10, width=50)
  63. caixa_texto.pack()
  64.  
  65. # Cria o frame para os botões
  66. frame_botoes = tk.Frame(janela)
  67. frame_botoes.pack(pady=10)
  68.  
  69. # Cria o botão "Executar Ações"
  70. botao_executar = tk.Button(frame_botoes, text="Executar Ações", command=executar_acoes)
  71. botao_executar.pack(side=tk.LEFT, padx=5)
  72.  
  73. # Cria o botão "Limpar Caixa de Texto"
  74. botao_limpar = tk.Button(frame_botoes, text="Limpar Caixa de Texto", command=limpar_caixa_texto)
  75. botao_limpar.pack(side=tk.LEFT, padx=5)
  76.  
  77. # Inicia o loop de eventos da janela
  78. janela.mainloop()
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement