Как создать простого бота с автоматическим входом в систему с помощью Python и Selenium
Автоматизация, несомненно, является одним из самых желанных навыков, которыми может обладать программист. Автоматизация обычно используется для задач, которые повторяются, скучны, занимают много времени или иным образом неэффективны без использования сценария.
С помощью веб-автоматизации вы можете легко создать бота для выполнения различных задач в Интернете, например, для отслеживания конкурирующих цен на отели в Интернете и определения лучшей цены.
Лично я всегда находил вход в свою электронную почту довольно повторяющимся и скучным, поэтому для простого примера, чтобы вы, ребята, начали работать с веб-автоматизацией, давайте реализуем автоматизированный скрипт Python для входа в систему с помощью одного клика в учетной записи Gmail.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Читайте также: пакеты Python для веб-разработчиков – лучшие из
Установка и настройка
В этом уроке мы будем использовать следующие инструменты:
- питон язык программирования
- Гугл Хром браузер
- Селен инструментарий автоматизации браузера
- Chrome Driver веб-драйвер для Chrome
Для нашей программы мы будем использовать питон язык программирования, а именно версия 2.7.11. Крайне важно, чтобы мы установили довольно новую версию Python 2, потому что она поставляется с PIP, что позволит нам устанавливать сторонние пакеты и фреймворки, которые нам понадобятся для автоматизации наших скриптов.
После установки перезагрузите компьютер, чтобы изменения вступили в силу. Используйте команду pip install selenium, чтобы добавить Селен инструментарий веб-автоматизации для Python. Selenium позволит нам программно прокручивать, копировать текст, заполнять формы и нажимать кнопки.
Наконец скачайте Selenium Chrome Driver исполняемый файл, который будет открывать Google Chrome по мере необходимости для выполнения наших автоматизированных задач. Драйвер Chrome – это просто способ открыть Google Chrome (который уже должен быть установлен) для программного доступа к стандартным операциям браузера.
Просто загрузите самый последний ZIP-файл с ВотИзвлеките исполняемый файл chromedriver.exe и поместите исполняемый файл в любой каталог. Обязательно запишите, где находится ваш исполняемый файл, потому что он нам понадобится, как только мы начнем.
Запуск программы
Как уже упоминалось, мы будем использовать Селен фреймворк веб-автоматизации для программного входа. Первым делом нужно импортировать каждый модуль, который нам понадобится, из библиотеки Selenium Python, которую мы установили еще раньше с помощью PIP.
Давайте откроем IDLE или другой редактор кода, создайте новый файл Python с расширением .py и импортируйте следующие модули:
из селена импорт вебдрайвер
из selenium.webdriver.common.by импортировать по
из selenium.webdriver.support.ui import WebDriverWait
из selenium.webdriver.support import Ожидаемые_условия как EC
Далее мы создадим две строки, которые представляют наше имя пользователя и пароль для учетной записи электронной почты. Обратите внимание на заглавные буквы, особенно в строке пароля.
usernameStr = ‘putYourUsernameHere’
passwordStr = ‘putYourPasswordHere’
Теперь, когда у нас все настроено, чтобы начать процесс входа в систему, нам нужно указать в окне браузера открыть Google Chrome и перейти на страницу входа в Gmail.
Если вы этого еще не сделали, убедитесь, что ваш скрипт Python сохранен в том же месте, что и исполняемый файл chromedriver.exe, который мы извлекли ранее.
browser = webdriver.Chrome ()
browser.get (( ‘https://accounts.google.com/ServiceLogin?
‘Сервис = почта и продолжить = https: //mail.google’
‘.Com / почта / # Идентификатор’))
В поисках нашего элемента
Мы успешно получили браузер для открытия Gmail, но теперь нам нужно найти поля ввода на веб-странице, в которые мы можем ввести наше имя пользователя и пароль.
Мы можем сделать это легко, используя встроенные инструменты разработчика Chrome. Нам нужно только щелкнуть правой кнопкой мыши на полях ввода и выбрать меню «Проверка».
Теперь нужно просто использовать атрибуты HTML id для программного поиска элементов.
В приведенном ниже коде мы просто ищем поле ввода имени пользователя по id и заполняем его нужным текстом. Затем мы ищем кнопку «Далее», которая быстро переключается, прежде чем запрашивать у нас пароль.
Команды send_keys () и click () действуют в точности так, как предлагают их имена – send_keys () имитирует нажатия клавиш в нужном элементе, а click () – клик мыши.
введите имя пользователя и нажмите следующую кнопку
username = browser.find_element_by_id (‘Email’)
username.send_keys (usernameStr)
nextButton = browser.find_element_by_id (‘next’)
nextButton.click ()
Мы можем сделать то же самое для поля ввода пароля, а также для кнопки Вход в систему. Однако эти два элемента отображаются только на странице после анимированный переход.
Тем не менее, нам нужно, чтобы программа подождала несколько секунд, прежде чем возобновить поиск элементов. По большей части этот этап кода ничем не отличается от предыдущего. Мы просто должны проинструктировать браузер подождать максимум 10 секунд, прежде чем найти пароль.
ждать перехода, затем продолжать заполнять пункты
пароль = WebDriverWait (браузер, 10) .until (
EC.presence_of_element_located ((By.ID, ‘Passwd’)))
password.send_keys (passwordStr)
signInButton = browser.find_element_by_id (‘signIn’)
signInButton.click ()
Заключительные слова
Вы только что закончили создание бота, который посещает веб-страницу, вводит ваше имя пользователя и пароль и успешно регистрирует вас, автоматизируя весь процесс одним щелчком мыши. Я знаю, что это была простая демонстрация, но возможности безграничны.
На этой же ноте, будьте осторожны, как вы используете этот навык. Некоторые люди используют боты и автоматизированные сценарии для ввода лотерей тысячи раз, полностью игнорируя условия. Другие используют их для более злых намерений.
Просто убедитесь, что автоматизация используется целенаправленно и осторожно, потому что это действительно очень необходимый навык в сообществе программистов!
Примечание редактора: Это сообщение написано Маликом Брахими для Hongkiat.com. Малик является разработчиком, расположенным в районе Большого Бостона, и любит еду, футбол и программирование (любимый язык Python).
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)