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 Selênio. Além disso, usaremos o falsificador
biblioteca para gerar dados aleatórios do usuário, aleatório
para geração de senha e gerenciador de webdriver
e PySocks
lidar procuradores.
Pré-requisitos
Antes de começarmos, certifique-se de ter o seguinte instalado:
- Python 3.x
- Selênio
- Chrome WebDriver
- Falsificador
- PySocks
- Gerenciador WebDriver para Selenium
Você pode instalar Selenium, Faker, PySocks e WebDriver Manager usando pip:
pip instalar selênio faker pysocks webdriver-manager
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.
- Use um SOCKS5 procurador para o processo de registro.
Etapa 1: importar bibliotecas e inicializar o Faker
Primeiro, importaremos as bibliotecas necessárias e inicializaremos Falsificador
:
de selênio importar webdriver de selenium.webdriver.common.by importar Por de selenium.webdriver.support.ui importar WebDriverWait de selenium.webdriver.support importar condições_esperadas como EC de importação falsa Faker importar importação aleatória string importar tempo de webdriver_manager.chrome importar ChromeDriverManager de selenium.webdriver.chrome.service import Serviço de selenium.webdriver.chrome.options import Opções # Inicializar 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:
# Função para gerar uma senha aleatória def generate_password(length=12): caracteres = string.ascii_letters + string.digits + string.punctuation password = ''.join(random.choice(characters) for i in range(length)) return senha # Gerar dados aleatórios do usuário first_name = fake.first_name() last_name = fake.last_name() nome de usuário = first_name.lower() + last_name.lower() + str(random.randint(1000, 9999)) password = generate_password()
Etapa 3: inicializar o Selenium WebDriver com proxy
Inicialize o Chrome WebDriver e navegue até a página de inscrição do Gmail, usando um proxy SOCKS5:
Configurações de proxy # (substitua pelos detalhes do proxy) proxy = "your_proxy_address:your_proxy_port" # Inicialize o Chrome WebDriver com configurações de proxy chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # Inicializar o serviço WebDriver = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) # Abra a página de inscrição do Gmail 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:
# Aguarde o carregamento da página e localize os campos do formulário 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") # Preencha os campos do formulário 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:
# Envie o formulário next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Adicione um atraso para permitir o carregamento da próxima página (você pode ser necessário ajustar o tempo de sono) 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:
# Fecha o navegador após a conclusão do processo driver.quit() # Produz os dados gerados print(f"Nome: {primeiro_nome}") print(f"Sobrenome: {sobrenome}") print(f"Nome de usuário: { nome de usuário}") print(f"Senha: {senha}")
Roteiro Completo
Aqui está o script completo combinando todas as etapas:
de selênio importar webdriver de selenium.webdriver.common.by importar Por de selenium.webdriver.support.ui importar WebDriverWait de selenium.webdriver.support importar condições_esperadas como EC de importação falsa Faker importar importação aleatória string importar tempo de webdriver_manager.chrome importar ChromeDriverManager de selenium.webdriver.chrome.service import Serviço de selenium.webdriver.chrome.options import Opções # Inicializar Faker fake = Faker() # Função para gerar uma senha aleatória def generate_password(comprimento=12): caracteres = string.ascii_letters + string .digits + string.punctuation senha = ''.join(random.choice(caracteres) para i no intervalo(comprimento)) retornar senha # Gerar dados aleatórios do usuário first_name = fake.first_name() last_name = fake.last_name() nome de usuário = first_name.lower() + last_name.lower() + str(random.randint(1000, 9999)) password = generate_password() # Configurações de proxy (substitua pelos detalhes do seu proxy) proxy = "your_proxy_address:your_proxy_port" # Inicialize o Chrome WebDriver com configurações de proxy chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # Inicialize o serviço WebDriver = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service= service, options=chrome_options) # Abra a página de inscrição do Gmail driver.get("https://accounts.google.com/signup") # Aguarde o carregamento da página e localize os campos do formulário 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") # Preencha os campos do formulário 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) # Envie o formulário next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Adicione um atraso para permitir o carregamento da próxima página (pode ser necessário ajustar o tempo de suspensão) time.sleep(5) # Fecha o navegador após a conclusão do processo driver.quit() # Produz os dados gerados print(f"First Nome: {nome}") print(f"Sobrenome: {sobrenome}") print(f"Nome de usuário: {nomedeusuário}") print(f"Senha: {senha}")
Conclusão
Você automatizou com sucesso o processo de registro de conta do Gmail usando Python e Selenium, com a adição do suporte ao proxy SOCKS5. Este script gera dados aleatórios do usuário, preenche o formulário de registro e roteia o tráfego por meio de um proxy especificado.
Lembre-se de substituir seu_endereço_proxy:sua_porta_proxy
com os detalhes reais do seu proxy e use este script com responsabilidade, tendo em mente as implicações legais e éticas da automação da criação de contas.