Блог / Статьи

Полезная информация для вашего хостинга

Создание бота для автоматического входа в Gmail почту

Создание бота для автоматического входа

Автоматизация, безусловно, является одним из самых востребованных навыков, которыми может обладать программист. Автоматизация обычно используется для задач, которые являются повторяющимися, скучными, трудоемкими или иначе неэффективными без использования скрипта.

С помощью веб-автоматизации вы можете легко создать бота для выполнения различных задач в Интернете, например, для мониторинга конкурентных цен на отели и определения лучшей цены.

Вход в электронную почту довольно повторяющийся и скучный процесс, поэтому для простого примера, чтобы помочь вам начать работу с веб-автоматизацией, давайте реализуем автоматизированный скрипт на Python для входа в аккаунт Gmail одним кликом.

Установка и настройка

Мы будем использовать следующие инструменты:

  1. Язык программирования Python
  2. Браузер Google Chrome
  3. Инструментарий для автоматизации браузера Selenium
  4. Веб-драйвер Chrome Driver для Chrome

Для нашей программы мы будем использовать язык программирования Python, а именно версию 2.7.11. Важно установить достаточно новую версию Python 2, так как она включает в себя PIP, который позволит нам устанавливать сторонние пакеты и фреймворки, необходимые для автоматизации наших скриптов.

После установки перезапустите компьютер, чтобы изменения вступили в силу. Используйте команду pip install selenium, чтобы добавить инструмент для веб-автоматизации Selenium в Python. Selenium позволит нам программно прокручивать страницы, копировать текст, заполнять формы и нажимать кнопки.

Наконец, скачайте исполняемый файл Selenium Chrome Driver, который будет открывать Google Chrome по мере необходимости для выполнения наших автоматизированных задач. Chrome Driver просто позволяет открывать Google Chrome (который уже должен быть установлен) для программного доступа к стандартным операциям браузера.

Просто скачайте самый последний ZIP-файл , извлеките исполняемый файл chromedriver.exe и поместите его в любую директорию. Обязательно запомните, где находится ваш исполняемый файл, так как он нам понадобится, когда мы начнем.

Начало работы с программой


Как уже упоминалось, мы будем использовать фреймворк веб-автоматизации Selenium для программного входа. Первым делом нужно импортировать все модули, которые нам понадобятся из библиотеки Selenium для Python, которую мы установили ранее с помощью PIP.

Откроем IDLE или другой редактор кода, создадим новый файл Python с расширением .py и импортируем следующие модули:

 

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

Далее мы создадим две строки, которые будут представлять наш логин и пароль для учетной записи электронной почты. Обратите внимание на использование заглавных букв, особенно в строке пароля.

 

```python
# Вставьте ваши учетные данные
username = "ваш_логин@gmail.com"
password = "ВашПароль"
```

Замените `ваш_логин@gmail.com` на ваш реальный адрес электронной почты, а `ВашПароль` на ваш реальный пароль. Убедитесь, что вы правильно ввели заглавные и строчные буквы в пароле, чтобы избежать ошибок при входе.

Теперь мы можем приступить к написанию основного кода для автоматического входа в Gmail с использованием Selenium.

Теперь, когда у нас все настроено для начала процесса входа, нам нужно фактически инструктировать окно браузера открыть Google Chrome и перейти на страницу входа в Gmail.

Если вы еще этого не сделали, убедитесь, что ваш скрипт на Python сохранен в том же месте, где находится исполняемый файл chromedriver.exe, который мы извлекли ранее.

 

```python
from selenium import webdriver

# Открытие браузера и переход на страницу входа в Gmail
browser = webdriver.Chrome()
browser.get(('https://accounts.google.com/ServiceLogin?'
             'service=mail&continue=https://mail.google'
             '.com/mail/#identifier'))
```

Поиск элементов


Мы успешно открыли Gmail в браузере, но теперь нам нужно найти поля ввода на веб-странице, чтобы ввести наш логин и пароль.

Мы можем сделать это легко, используя встроенные инструменты разработчика Chrome. Просто щелкните правой кнопкой мыши на полях ввода и выберите пункт меню "Просмотреть код".

bot2

Теперь дело за малым — использовать HTML-атрибуты id для программного поиска элементов.

В приведенном ниже коде мы ищем поле ввода логина по id и заполняем его нужным текстом. Затем мы ищем кнопку "Далее", которая переходит с быстрой анимацией перед тем, как запросить у нас пароль.

Команды `send_keys()` и `click()` делают именно то, что подсказывают их названия: `send_keys()` имитирует нажатия клавиш в нужном элементе, а `click()` имитирует щелчок мыши.

 

```python
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Ввод логина и нажатие кнопки "Далее"
usernameStr = "ваш_логин@gmail.com"
passwordStr = "ВашПароль"

username = browser.find_element_by_id('Email')
username.send_keys(usernameStr)
nextButton = browser.find_element_by_id('next')
nextButton.click()
```

Мы можем сделать то же самое для поля ввода пароля, а также для кнопки "Войти". Однако эти два элемента появляются на странице только после анимированного перехода.

Поэтому нам нужно заставить программу подождать несколько секунд перед продолжением поиска элементов. В основном этот этап кода не отличается от предыдущего. Нам просто нужно указать браузеру подождать максимум 10 секунд перед поиском поля для ввода пароля.

 

```python
# Ожидание перехода, затем продолжение заполнения элементов
password = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.ID, 'Passwd')))
password.send_keys(passwordStr)

signInButton = browser.find_element_by_id('signIn')
signInButton.click()
```

 

 

В заключение

Вы только что закончили создание бота, который заходит на веб-страницу, вводит ваш логин и пароль и успешно выполняет вход, автоматизируя весь процесс до одного клика. Я понимаю, что это была простая демонстрация, но возможности бесконечны.

В то же время будьте осторожны с тем, как вы используете этот навык. Некоторые люди используют ботов и автоматизированные скрипты, чтобы участвовать в конкурсах тысячи раз, полностью игнорируя правила и условия. Другие используют их для более злонамеренных целей.

Создание бота для автоматического входа в Gmail с использованием Python и Selenium - это мощный пример веб-автоматизации, который может значительно упростить рутинные задачи. Для максимальной эффективности и постоянной доступности такого бота рекомендуется размещать его на частном сервере (VPS). Хостинг для VPS предоставляет надежную и масштабируемую среду, которая позволяет запускать автоматизированные скрипты 24/7 без прерываний. Это особенно полезно для бизнеса, который требует постоянного мониторинга и взаимодействия с веб-сервисами. Разместив бота на VPS, вы обеспечите его стабильную работу и сможете эффективно управлять задачами удаленно.