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. También usaremos el farsante
biblioteca para generar datos de usuario aleatorios y aleatorio
para la generación de contraseña.
Requisitos previos
Antes de comenzar, asegúrese de tener instalado lo siguiente:
- Pitón 3.x
- Selenio
- Controlador web de Chrome
- farsante
Puedes instalar Selenium y Faker usando pip:
pip instala falsificador de selenio
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.
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 faker importar Faker importar cadena de importación aleatoria tiempo de importación # 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
Inicialice Chrome WebDriver y navegue hasta la página de registro de Gmail:
# Inicializar el controlador Chrome WebDriver = webdriver.Chrome() # Abrir 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 faker importar Faker importar cadena de importación aleatoria tiempo de importación # 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 () # Inicializar el controlador Chrome WebDriver = webdriver.Chrome() # Abrir la página de registro de Gmail driver.get("https://accounts.google.com/signup") # Espere a que se cargue la página y ubique los campos del formulario esperar = 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") nombre_de_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") # Complete 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) campo_de_contraseña.claves de envío(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 página siguiente (es posible que necesite ajustar el tiempo de suspensión) time.sleep(5) # Cierre el navegador una vez completado el proceso driver.quit() # Salida del datos generados print(f"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. Este script genera datos de usuario aleatorios y completa el formulario automáticamente. Recuerde utilizar este script de manera responsable y ser consciente de las implicaciones legales y éticas de automatizar la creación de cuentas.