Создание учетных записей Gmail вручную может оказаться утомительным занятием, особенно если вам нужно несколько учетных записей для тестирования или других целей. В этом руководстве вы узнаете, как автоматизировать процесс регистрации учетной записи Gmail с помощью Python и Селен. Кроме того, мы будем использовать мошенник
библиотека для генерации случайных пользовательских данных, случайный
для генерации пароля и веб-драйвер-менеджер
и PySocks
обрабатывать прокси.
Предварительные условия
Прежде чем мы начнем, убедитесь, что у вас установлено следующее:
- Питон 3.x
- Селен
- Веб-драйвер Chrome
- Фейкер
- PySocks
- Менеджер WebDriver для Selenium
Вы можете установить Selenium, Faker, PySocks и WebDriver Manager с помощью pip:
pip install selenium faker pysocks веб-менеджер веб-драйвера
Загрузите Chrome WebDriver с здесь и убедитесь, что он находится в вашем PATH.
Обзор скрипта
Скрипт будет:
- Сгенерируйте случайное имя, фамилию, имя пользователя и пароль.
- Откройте страницу регистрации Gmail с помощью Selenium.
- Заполните форму регистрации сгенерированными данными.
- Отправьте форму.
- Используйте SOCKS5 прокси для процесса регистрации.
Шаг 1. Импортируйте библиотеки и инициализируйте Faker
Сначала импортируем необходимые библиотеки и инициализируем Фейкер
:
из selenium import webdriver из selenium.webdriver.common.by import By из selenium.webdriver.support.ui import WebDriverWait из selenium.webdriver.support импорт ожидаемых_условий как EC из импорта фейкера Faker импорт случайной строки импорта время импорта из webdriver_manager.chrome импорт ChromeDriverManager из selenium.webdriver.chrome.service import Сервис из selenium.webdriver.chrome.options Параметры импорта # Инициализировать Faker fake = Faker()
Шаг 2. Генерация случайных данных
Далее мы создадим функцию для генерации случайного пароля и случайных пользовательских данных:
# Функция для генерации случайного пароля defgenerate_password(length=12): символы = string.ascii_letters + string.digits + string.punctuation пароль = ''.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)) пароль = генерировать_пароль()
Шаг 3. Инициализируйте Selenium WebDriver с помощью прокси
Инициализируйте Chrome WebDriver и перейдите на страницу регистрации Gmail, используя прокси-сервер SOCKS5:
# Настройки прокси-сервера (замените данными вашего прокси-сервера) 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/подписка")
Шаг 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") user_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) пароль_field.send_keys(пароль) submit_password_field.send_keys(пароль)
Шаг 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"Username: { имя пользователя}") print(f"Пароль: {пароль}")
Полный сценарий
Вот полный сценарий, объединяющий все шаги:
из selenium import webdriver из selenium.webdriver.common.by import By из selenium.webdriver.support.ui import WebDriverWait из selenium.webdriver.support импорт ожидаемых_условий как EC из импорта фейкера Faker импорт случайной строки импорта время импорта из webdriver_manager.chrome импорт ChromeDriverManager из selenium.webdriver.chrome.service import Сервис из selenium.webdriver.chrome.options Параметры импорта # Инициализировать Faker fake = Faker() # Функция для генерации случайного пароля defgenerate_password(length=12): символов = string.ascii_letters + string .digits + string.punctuation пароль = ''.join(random.choice(characters) for i в диапазоне(длина)) вернуть пароль # Генерировать случайные данные пользователя first_name = fake.first_name() Last_name = fake.last_name() username = first_name.lower() + Last_name.lower() + str(random.randint(1000, 9999)) пароль =generate_password() # Настройки прокси-сервера (замените данными вашего прокси-сервера) proxy = "ваш_прокси_адрес:ваш_прокси_порт" # Инициализируйте 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") user_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) пароль_поле.send_keys(пароль) submit_password_field.send_keys(пароль) # Отправьте форму 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"Пароль: {пароль}")
Заключение
Вы успешно автоматизировали процесс регистрации учетной записи Gmail с помощью Python и Selenium, добавив поддержку прокси-сервера SOCKS5. Этот скрипт генерирует случайные данные пользователя, заполняет форму регистрации и маршрутизирует трафик через указанный прокси.
Не забудьте заменить ваш_прокси_адрес:ваш_прокси_порт
с вашими фактическими данными прокси-сервера и используйте этот сценарий ответственно, помня о юридических и этических последствиях автоматизации создания учетной записи.