Criar contas do Gmail manualmente pode ser entediante, especialmente se você precisar de várias contas para testes ou outros fins. Neste tutorial, você aprenderá como automatizar o processo de registro de conta do Gmail usando Python e Selenium. Também usaremos o faker
biblioteca para gerar dados aleatórios do usuário e random
para geração de senha.
Pré-requisitos
Antes de começarmos, certifique-se de ter o seguinte instalado:
- Python 3.x
- Selênio
- Chrome WebDriver
- Falsificador
Você pode instalar Selenium e Faker usando pip:
pip install selenium faker
Baixe o Chrome WebDriver em aqui e certifique-se de que esteja no seu PATH.
Visão geral do roteiro
O roteiro irá:
- Gere nome, sobrenome, nome de usuário e senha aleatórios.
- Abra a página de inscrição do Gmail usando Selenium.
- Preencha o formulário de inscrição com os dados gerados.
- Envie o formulário.
Etapa 1: importar bibliotecas e inicializar o Faker
Primeiro, importaremos as bibliotecas necessárias e inicializaremos Faker
:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from faker import Faker
import random
import string
import time
# Initialize Faker
fake = Faker()
Etapa 2: gerar dados aleatórios
A seguir, criaremos uma função para gerar uma senha aleatória e gerar os dados aleatórios do usuário:
# Function to generate a random password
def generate_password(length=12):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
# Generate random user data
first_name = fake.first_name()
last_name = fake.last_name()
username = first_name.lower() + last_name.lower() + str(random.randint(1000, 9999))
password = generate_password()
Etapa 3: inicializar o Selenium WebDriver
Inicialize o Chrome WebDriver e navegue até a página de inscrição do Gmail:
# Initialize Chrome WebDriver
driver = webdriver.Chrome()
# Open Gmail signup page
driver.get("https://accounts.google.com/signup")
Etapa 4: preencha o formulário de inscrição
Aguarde o carregamento da página, localize os campos do formulário e preencha-os com os dados gerados:
# Wait for the page to load and locate the form fields
wait = WebDriverWait(driver, 10)
first_name_field = wait.until(EC.presence_of_element_located((By.ID, "firstName")))
last_name_field = driver.find_element(By.ID, "lastName")
username_field = driver.find_element(By.ID, "username")
password_field = driver.find_element(By.NAME, "Passwd")
confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd")
# Fill out the form fields
first_name_field.send_keys(first_name)
last_name_field.send_keys(last_name)
username_field.send_keys(username)
password_field.send_keys(password)
confirm_password_field.send_keys(password)
Etapa 5: enviar o formulário
Envie o formulário e adicione um atraso para permitir o carregamento da próxima página:
# Submit the form
next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button')
next_button.click()
# Add a delay to allow the next page to load (you may need to adjust the sleep time)
time.sleep(5)
Etapa 6: lidar com etapas adicionais
Dependendo do processo de inscrição do Google, pode ser necessário executar etapas adicionais, como verificação por telefone, e-mail de recuperação ou CAPTCHA. Esta parte irá variar e pode exigir um manuseio mais avançado.
Etapa 7: feche o navegador
Feche o navegador assim que o processo for concluído:
# Close the browser after the process is complete
driver.quit()
# Output the generated data
print(f"First Name: {first_name}")
print(f"Last Name: {last_name}")
print(f"Username: {username}")
print(f"Password: {password}")
Roteiro Completo
Aqui está o script completo combinando todas as etapas:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from faker import Faker
import random
import string
import time
# Initialize Faker
fake = Faker()
# Function to generate a random password
def generate_password(length=12):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
# Generate random user data
first_name = fake.first_name()
last_name = fake.last_name()
username = first_name.lower() + last_name.lower() + str(random.randint(1000, 9999))
password = generate_password()
# Initialize Chrome WebDriver
driver = webdriver.Chrome()
# Open Gmail signup page
driver.get("https://accounts.google.com/signup")
# Wait for the page to load and locate the form fields
wait = WebDriverWait(driver, 10)
first_name_field = wait.until(EC.presence_of_element_located((By.ID, "firstName")))
last_name_field = driver.find_element(By.ID, "lastName")
username_field = driver.find_element(By.ID, "username")
password_field = driver.find_element(By.NAME, "Passwd")
confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd")
# Fill out the form fields
first_name_field.send_keys(first_name)
last_name_field.send_keys(last_name)
username_field.send_keys(username)
password_field.send_keys(password)
confirm_password_field.send_keys(password)
# Submit the form
next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button')
next_button.click()
# Add a delay to allow the next page to load (you may need to adjust the sleep time)
time.sleep(5)
# Close the browser after the process is complete
driver.quit()
# Output the generated data
print(f"First Name: {first_name}")
print(f"Last Name: {last_name}")
print(f"Username: {username}")
print(f"Password: {password}")
Conclusão
Você automatizou com sucesso o processo de registro de conta do Gmail usando Python e Selenium. Este script gera dados aleatórios do usuário e preenche o formulário automaticamente. Lembre-se de usar este script com responsabilidade e estar ciente das implicações legais e éticas da automação da criação de contas.