Створення облікових записів Gmail вручну може бути виснажливим, особливо якщо вам потрібно кілька облікових записів для тестування чи інших цілей. У цьому посібнику ви дізнаєтеся, як автоматизувати процес реєстрації облікового запису Gmail за допомогою Python і Селен. Крім того, ми будемо використовувати фальсифікатор
бібліотека для створення випадкових даних користувача, випадковий
для генерації пароля та webdriver-менеджер
і PySocks
витримати проксі.
передумови
Перш ніж почати, переконайтеся, що у вас встановлено наступне:
- Python 3.x
- Селен
- Веб-драйвер Chrome
- Факер
- PySocks
- WebDriver Manager для Selenium
Ви можете встановити Selenium, Faker, PySocks і WebDriver Manager за допомогою pip:
pip install selenium faker pysocks webdriver-manager
Завантажте Chrome WebDriver з тут і переконайтеся, що він знаходиться у вашому PATH.
Огляд сценарію
Сценарій:
- Генеруйте випадкове ім'я, прізвище, ім'я користувача та пароль.
- Відкрийте сторінку реєстрації Gmail за допомогою Selenium.
- Заповніть форму реєстрації згенерованими даними.
- Надішліть форму.
- Використовуйте SOCKS5 проксі для процесу реєстрації.
Крок 1: Імпортуйте бібліотеки та ініціалізуйте Faker
Спочатку ми імпортуємо необхідні бібліотеки та ініціалізуємо Факер
:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support імпорт expect_conditions as EC from faker import Faker import random import string time time from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options # 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 за допомогою проксі-сервера SOCKS5:
# Параметри проксі (замініть деталями проксі) proxy = "your_proxy_address:your_proxy_port" # Ініціалізація веб-драйвера Chrome за допомогою налаштувань проксі chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # Ініціалізація служба WebDriver = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) # Відкрийте сторінку реєстрації 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 імпорт expect_conditions as EC from faker import Faker import random import string time time from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options # 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)) return password # Генерувати випадкові дані користувача 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() # Налаштування проксі (замініть деталями вашого проксі) proxy = "your_proxy_address:your_proxy_port" # Ініціалізація Chrome WebDriver за допомогою налаштування проксі chrome_options = Options() chrome_options.add_argument("--proxy-server=socks5://" + proxy) # Ініціалізація служби WebDriver = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service= service, options=chrome_options) # Відкрийте сторінку реєстрації Gmail driver.get("https://accounts.google.com/signup") # Зачекайте, поки сторінка завантажиться, і знайдіть поля форми 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) # Надішліть форму next_button = driver.find_element(By.XPATH, '//*[@id="accountDetailsNext"]/div/button') next_button.click() # Додайте затримку, щоб дозволити завантажити наступну сторінку (може знадобитися налаштувати час сну) time.sleep(5) # Закрити браузер після завершення процесу driver.quit() # Вивести згенеровані дані print(f"First Ім'я: {first_name}") print(f"Прізвище: {last_name}") print(f"Ім'я користувача: {username}") print(f"Пароль: {password}")
Висновок
Ви успішно автоматизували процес реєстрації облікового запису Gmail за допомогою Python і Selenium, додавши підтримку проксі-сервера SOCKS5. Цей скрипт генерує випадкові дані користувача, заповнює реєстраційну форму та направляє трафік через вказаний проксі.
Не забудьте замінити your_proxy_address:ваш_проксі_порт
із вашими фактичними даними проксі-сервера та відповідально використовуйте цей сценарій, пам’ятаючи про правові й етичні наслідки автоматизованого створення облікового запису.