Crear cuentas de Gmail manualmente puede resultar tedioso, especialmente si necesita varias cuentas para realizar pruebas u otros fines. En este tutorial, aprenderá cómo automatizar el proceso de registro de la cuenta de Gmail usando Python y Selenio. Además, usaremos el farsante
biblioteca para generar datos de usuario aleatorios, aleatorio
para la generación de contraseñas, y administrador-webdriver
y calcetines
manejar apoderados.
Requisitos previos
Antes de comenzar, asegúrese de tener instalado lo siguiente:
- Pitón 3.x
- Selenio
- Controlador web de Chrome
- farsante
- calcetines
- Administrador de WebDriver para Selenium
Puede instalar Selenium, Faker, PySocks y WebDriver Manager usando pip:
pip instala selenio faker pysocks webdriver-manager
Descargue Chrome WebDriver desde aquí y asegúrese de que esté en su RUTA.
Descripción general del guión
El guión:
- Genere nombre, apellido, nombre de usuario y contraseña aleatorios.
- Abra la página de registro de Gmail usando Selenium.
- Rellena el formulario de registro con los datos generados.
- Envíe el formulario.
- Utilice un SOCKS5 apoderado para el proceso de registro.
Paso 1: importar bibliotecas e inicializar Faker
Primero, importaremos las bibliotecas necesarias e inicializaremos farsante
:
desde selenium importar webdriver desde selenium.webdriver.common.by importar por desde selenium.webdriver.support.ui importar WebDriverWait desde selenium.webdriver.support importar condiciones_esperadas como EC desde farsante importar Faker importar cadena de importación aleatoria tiempo de importación desde webdriver_manager.chrome importar ChromeDriverManager from selenium.webdriver.chrome.service import Servicio from selenium.webdriver.chrome.options import Opciones # Inicializar Faker fake = Faker()
Paso 2: generar datos aleatorios
A continuación, crearemos una función para generar una contraseña aleatoria y generar los datos de usuario aleatorios:
# Función para generar una contraseña aleatoria def generate_password(length=12): caracteres = string.ascii_letters + string.digits + string.punctuation contraseña = ''.join(random.choice(characters) for i in range(length)) return contraseña # Generar datos de usuario aleatorios first_name = fake.first_name() last_name = fake.last_name() nombre de usuario = first_name.lower() + last_name.lower() + str(random.randint(1000, 9999)) contraseña = generate_password()
Paso 3: Inicialice Selenium WebDriver con Proxy
Inicialice Chrome WebDriver y navegue hasta la página de registro de Gmail, utilizando un proxy SOCKS5:
# Configuración de proxy (reemplace con los detalles de su proxy) proxy = "your_proxy_address:your_proxy_port" # Inicialice Chrome WebDriver con la configuración de proxy chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # Inicializar the WebDriver service = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) # Abra la página de registro de Gmail driver.get("https://accounts.Google.com/registro")
Paso 4: complete el formulario de registro
Espere a que se cargue la página, ubique los campos del formulario y rellénelos con los datos generados:
# Espere a que se cargue la página y ubique los campos del formulario 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 , "apellido") campo_usuario = driver.find_element(By.ID, "nombre de usuario") campo_contraseña = driver.find_element(By.NAME, "Contraseña") confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd") # Completar los campos del formulario first_name_field.send_keys(first_name) last_name_field.send_keys(last_name) nombre_de_usuario.send_keys(nombre de usuario) contraseña_field.send_keys(contraseña) confirm_password_field.send_keys(contraseña)
Paso 5: envíe el formulario
Envíe el formulario y agregue un retraso para permitir que se cargue la siguiente página:
# Envíe el formulario next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Agregue un retraso para permitir que se cargue la siguiente página (usted puede que sea necesario ajustar el tiempo de sueño) time.sleep(5)
Paso 6: realice pasos adicionales
Dependiendo del proceso de registro de Google, es posible que deba realizar pasos adicionales como verificación telefónica, correo electrónico de recuperación o CAPTCHA. Esta parte variará y puede requerir un manejo más avanzado.
Paso 7: cierra el navegador
Cierra el navegador una vez que se complete el proceso:
# Cierre el navegador una vez completado el proceso driver.quit() # Imprima los datos generados print(f"Nombre: {first_name}") print(f"Apellido: {last_name}") print(f"Nombre de usuario: { nombre de usuario}") print(f"Contraseña: {contraseña}")
Guión completo
Aquí está el script completo que combina todos los pasos:
desde selenium importar webdriver desde selenium.webdriver.common.by importar por desde selenium.webdriver.support.ui importar WebDriverWait desde selenium.webdriver.support importar condiciones_esperadas como EC desde farsante importar Faker importar cadena de importación aleatoria tiempo de importación desde webdriver_manager.chrome importar ChromeDriverManager from selenium.webdriver.chrome.service import Servicio from selenium.webdriver.chrome.options import Opciones # Inicializar Faker fake = Faker() # Función para generar una contraseña aleatoria def generate_password(length=12): caracteres = string.ascii_letters + string .digits + string.punctuation contraseña = ''.join(random.choice(characters) for i in range(length)) devolver contraseña # Generar datos de usuario aleatorios first_name = fake.first_name() last_name = fake.last_name() nombre de usuario = first_name.lower() + last_name.lower() + str(random.randint(1000, 9999)) contraseña = generate_password() # Configuración de proxy (reemplace con los detalles de su proxy) proxy = "your_proxy_address:your_proxy_port" # Inicialice Chrome WebDriver con configuración de proxy chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # Inicializar el servicio WebDriver = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service= service, options=chrome_options) # Abra la página de registro de Gmail driver.get("https://accounts.google.com/signup") # Espere a que se cargue la página y localice los campos del formulario wait = WebDriverWait(driver, 10) first_name_field = esperar.hasta(EC.presence_of_element_located((By.ID, "firstName"))) last_name_field = driver.find_element(By.ID, "lastName") nombre_de_usuario = driver.find_element(By.ID, "nombre de usuario") campo_contraseña = driver.find_element(By.NAME, "ConfirmPasswd") confirm_password_field = driver.find_element(By.NAME, "ConfirmPasswd") # Complete los campos del formulario first_name_field.send_keys(first_name) last_name_field.send_keys(apellido) nombre_usuario.send_keys(nombre de usuario) contraseña_field.send_keys(contraseña) confirm_password_field.send_keys(contraseña) # Envíe el formulario next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Agregue un retraso para permitir que se cargue la siguiente página (es posible que necesite ajustar el tiempo de suspensión) time.sleep(5) # Cierre el navegador después de que se complete el proceso driver.quit() # Imprima los datos generados print(f"Primero Nombre: {primer_nombre}") print(f"Apellido: {apellido}") print(f"Nombre de usuario: {nombre de usuario}") print(f"Contraseña: {contraseña}")
Conclusión
Ha automatizado con éxito el proceso de registro de la cuenta de Gmail utilizando Python y Selenium, con la adición de compatibilidad con proxy SOCKS5. Este script genera datos de usuario aleatorios, completa el formulario de registro y dirige el tráfico a través de un proxy específico.
Recuerde reemplazar su_dirección_proxy:su_puerto_proxy
con sus detalles reales de proxy y utilice este script de manera responsable, teniendo en cuenta las implicaciones legales y éticas de automatizar la creación de cuentas.