Створення облікових записів Gmail вручну може бути виснажливим, особливо якщо вам потрібно кілька облікових записів для тестування чи інших цілей. У цьому посібнику ви дізнаєтеся, як автоматизувати процес реєстрації облікового запису Gmail за допомогою Python і Селен. Ми також будемо використовувати фальсифікатор
бібліотека для створення випадкових даних користувача та випадковий
для створення пароля.
передумови
Перш ніж почати, переконайтеся, що у вас встановлено наступне:
- Python 3.x
- Селен
- Веб-драйвер Chrome
- Факер
Ви можете встановити Selenium і Faker за допомогою pip:
pip встановити selenium faker
Завантажте Chrome WebDriver з тут і переконайтеся, що він знаходиться у вашому PATH.
Огляд сценарію
Сценарій:
- Генеруйте випадкове ім'я, прізвище, ім'я користувача та пароль.
- Відкрийте сторінку реєстрації Gmail за допомогою Selenium.
- Заповніть форму реєстрації згенерованими даними.
- Надішліть форму.
Крок 1: Імпортуйте бібліотеки та ініціалізуйте Faker
Спочатку ми імпортуємо необхідні бібліотеки та ініціалізуємо Факер
:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expect_conditions as EC from faker import Faker import random import string time time # Initialize Faker fake = Faker ()
Крок 2: Генеруйте випадкові дані
Далі ми створимо функцію для генерації випадкового пароля та генерування випадкових даних користувача:
# Функція для створення випадкового пароля def generate_password(length=12): characters = string.ascii_letters + string.digits + string.punctuation password = ''.join(random.choice(characters) for i in range(length)) return пароль # Генерувати випадкові дані користувача 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()
Крок 3: Ініціалізація Selenium WebDriver
Ініціалізуйте Chrome WebDriver і перейдіть на сторінку реєстрації Gmail:
# Ініціалізувати драйвер Chrome WebDriver = webdriver.Chrome() # Відкрити сторінку реєстрації Gmail driver.get("https://accounts.Google.com/signup")
Крок 4: Заповніть реєстраційну форму
Зачекайте, поки сторінка завантажиться, знайдіть поля форми та заповніть їх згенерованими даними:
# Зачекайте, поки сторінка завантажиться, і знайдіть поля форми 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") # Заповнити поля форми 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)
Крок 5: Надішліть форму
Надішліть форму та додайте затримку, щоб дозволити завантажити наступну сторінку:
# Надішліть форму next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Додайте затримку для завантаження наступної сторінки (ви може знадобитися налаштувати час сну) time.sleep(5)
Крок 6. Виконайте додаткові дії
Залежно від процесу реєстрації в Google вам може знадобитися виконати додаткові дії, як-от перевірку телефону, резервну електронну адресу або CAPTCHA. Ця частина буде відрізнятися і може вимагати більш складного керування.
Крок 7: Закрийте браузер
Після завершення процесу закрийте браузер:
# Закрийте браузер після завершення процесу driver.quit() # Виведіть згенеровані дані print(f"Ім'я: {first_name}") print(f"Прізвище: {last_name}") print(f"Ім'я користувача: { ім'я користувача}") print(f"Пароль: {пароль}")
Повний сценарій
Ось повний сценарій, що поєднує всі кроки:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expect_conditions as EC from faker import Faker import random import string time time # Initialize Faker fake = Faker () # Функція для створення випадкового пароля def generate_password(length=12): characters = string.ascii_letters + string.digits + string.punctuation password = ''.join(random.choice(characters) for i in range(length) ) повернути пароль # Генерувати випадкові дані користувача 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 () # Ініціалізувати драйвер Chrome WebDriver = webdriver.Chrome() # Відкрити сторінку реєстрації Gmail driver.get("https://accounts.google.com/signup") # Зачекайте, поки сторінка завантажиться, і знайдіть поля форми wait = WebDriverWait(драйвер, 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") # Заповніть поля форми 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) # Надішліть форму next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button' ) next_button.click() # Додайте затримку, щоб наступна сторінка могла завантажитися (може знадобитися налаштувати час сну) time.sleep(5) # Закрийте браузер після завершення процесу driver.quit() # Виведіть згенеровані дані print(f"Ім'я: {first_name}") print(f"Прізвище: {last_name}") print(f"Ім'я користувача: {ім'я користувача}") print(f"Пароль: {password}")
Висновок
Ви успішно автоматизували процес реєстрації облікового запису Gmail за допомогою Python і Selenium. Цей скрипт генерує випадкові дані користувача та автоматично заповнює форму. Не забувайте відповідально використовувати цей сценарій і пам’ятайте про правові та етичні наслідки автоматизованого створення облікового запису.