Создание учетных записей Gmail вручную может оказаться утомительным занятием, особенно если вам нужно несколько учетных записей для тестирования или других целей. В этом руководстве вы узнаете, как автоматизировать процесс регистрации учетной записи Gmail с помощью Python и Селен. Мы также будем использовать мошенник
библиотека для генерации случайных пользовательских данных и случайный
для генерации пароля.
Предварительные условия
Прежде чем мы начнем, убедитесь, что у вас установлено следующее:
- Питон 3.x
- Селен
- Веб-драйвер Chrome
- Фейкер
Вы можете установить Selenium и Faker с помощью pip:
pip установить селеновый фейкер
Загрузите Chrome WebDriver с здесь и убедитесь, что он находится в вашем PATH.
Обзор скрипта
Скрипт будет:
- Сгенерируйте случайное имя, фамилию, имя пользователя и пароль.
- Откройте страницу регистрации Gmail с помощью Selenium.
- Заполните форму регистрации сгенерированными данными.
- Отправьте форму.
Шаг 1. Импортируйте библиотеки и инициализируйте Faker
Сначала импортируем необходимые библиотеки и инициализируем Фейкер
:
из selenium import webdriver из selenium.webdriver.common.by import By из selenium.webdriver.support.ui import WebDriverWait из selenium.webdriver.support импорт ожидаемых_условий как EC из faker import Faker import случайная строка импорта время импорта # Initialize 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:
# Инициализируйте драйвер Chrome WebDriver = webdriver.Chrome() # Откройте страницу регистрации 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 import Faker import случайная строка импорта время импорта # Initialize Faker fake = Faker () # Функция для генерации случайного пароля def ignore_password(length=12): символы = string.ascii_letters + string.digits + string.punctuation пароль = ''.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)) пароль = генерировать_пароль () # Инициализировать драйвер Chrome WebDriver = webdriver.Chrome() # Откройте страницу регистрации 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) , "имя_пользователя") 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(имя пользователя) пароль_поле.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_name}") print(f"Фамилия: {last_name}") print(f"Имя пользователя: {username}") print(f"Пароль: {пароль}")
Заключение
Вы успешно автоматизировали процесс регистрации учетной записи Gmail с помощью Python и Selenium. Этот скрипт генерирует случайные пользовательские данные и автоматически заполняет форму. Не забывайте использовать этот скрипт ответственно и осознавать юридические и этические последствия автоматизации создания учетной записи.