ch


SUBMITTED BY: Cronus

DATE: Feb. 15, 2024, 9:14 a.m.

UPDATED: Feb. 19, 2024, 2:09 p.m.

FORMAT: Text only

SIZE: 2.8 kB

HITS: 1882

  1. import time
  2. import random
  3. from selenium import webdriver
  4. from selenium.webdriver.common.by import By
  5. from selenium.webdriver.support.ui import WebDriverWait
  6. from selenium.webdriver.support import expected_conditions as EC
  7. from colorama import Fore, Style
  8. # Função para gerar nomes de usuário aleatórios
  9. def generate_random_username():
  10. first_names = ["maria", "joao", "ana", "pedro", "carlos", "luis", "fernanda", "julia", "gabriel", "rafael"]
  11. last_names = ["silva", "santos", "oliveira", "pereira", "costa", "rodrigues", "almeida", "nascimento", "azevedo", "ferreira"]
  12. username = random.choice(first_names) + "-" + random.choice(last_names)
  13. return username
  14. # Função para gerar URLs completos de email
  15. def generate_email_url(username):
  16. return f"https://tuamaeaquelaursa.com/{username}"
  17. # Função para abrir o Chrome em segundo plano
  18. def open_chrome():
  19. options = webdriver.ChromeOptions()
  20. options.add_argument('--headless') # Executar em segundo plano
  21. driver = webdriver.Chrome(options=options)
  22. return driver
  23. # Função para verificar se a mensagem "Tua mãe, aquela ursa não encontrou tuas cartas." está presente
  24. def check_for_error_message(driver):
  25. try:
  26. WebDriverWait(driver, 15).until(EC.visibility_of_element_located((By.XPATH, '//p[contains(text(), "Tua mãe, aquela ursa não encontrou tuas cartas.")]')))
  27. return True
  28. except:
  29. return False
  30. # Função para imprimir os resultados em cores diferentes usando colorama
  31. def print_result(username, email_url, account_exists):
  32. if account_exists:
  33. print(Fore.GREEN + f"A conta com o username {username} existe. URL do email: {email_url}" + Style.RESET_ALL)
  34. else:
  35. print(Fore.RED + f"A conta com o username {username} não existe. URL do email: {email_url}" + Style.RESET_ALL)
  36. # Entrada da quantidade de contas a serem geradas
  37. num_accounts = int(input("Digite a quantidade de contas que deseja gerar: "))
  38. # Loop para gerar e verificar as contas
  39. for _ in range(num_accounts):
  40. # Geração de nome de usuário aleatório
  41. username = generate_random_username()
  42. # Abre o Chrome em segundo plano
  43. driver = open_chrome()
  44. # Abre a página do email
  45. email_url = generate_email_url(username)
  46. driver.get(email_url)
  47. # Espera 15 segundos para o site carregar completamente
  48. time.sleep(15)
  49. # Verifica se a mensagem de erro está presente na página
  50. error_message_exists = check_for_error_message(driver)
  51. # Determina se a conta existe com base na presença da mensagem de erro
  52. account_exists = not error_message_exists
  53. # Imprime o resultado
  54. print_result(username, email_url, account_exists)
  55. # Fecha o navegador após a verificação
  56. driver.quit()

comments powered by Disqus