Автоматизированная система входа на сайт с Python и Selenium WebDriver
В сегодняшней статье мы рассмотрим как с помощью вебдрайвера Selenium и Python, автоматически залогиниться на сайте. Нам понадобится скачать Selenium WebDriver для браузера Chrome c сайта https://chromedriver.chromium.org/downloads, а также модуль selenium для работы с драйвером через Python. Версия драйвера должна соответствовать версии браузера Chrome. Для проверки версии Chrome в адресной строке вводим: chrome://settings/help. Далее скачиваем файл в виде .zip архива. Создаем на диске C папку chromedriver и положим в нее извлеченный файл chromedriver.exe.
# установка модуля для взаимодействия с веб-драйвером
pip install selenium==4.*
Создадим файл main.py:
# импорт модулей time и selenium
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
# инициализация веб-драйвера с полным путем к исполняемому драйверу
driver = webdriver.Chrome('C:\chromedriver\chromedriver.exe')
# засыпание программы на 2 миллисекунды
time.sleep(2)
# открытие драйвером сайта
driver.get("https://myrusakov.ru/")
time.sleep(1)
# поиск элементов формы по описанию в html коде
login = driver.find_element(By.NAME, "login")
password = driver.find_element(By.NAME, "password")
# отправка данных в найденные формы
login.send_keys("login")
password.send_keys("password")
time.sleep(1)
# кнопка регистрации ищется драйвером по CSS селектору, указывающему путь в CSS коде к данному элементу
submit_button = driver.find_element(By.CSS_SELECTOR , "#auth input[type=\"submit\"]").click()
# метод click выполняет нажатие по кнопке формы
time.sleep(10)
# окончание работы драйвера
driver.quit()
В результате, при существующем логине и пароле, сайт аутентифицирует нас. Далее возможно автовыполнение некоторых рутинных действий. Драйвер имеет методы поиска не только по имени но и по другим атрибутам html
Следует иметь в виду, что используемые здесь атрибуты не подойдут на других сайтах.
Таким образом, с помощью веб-драйвера Selenium и Python можно выполнять множество действий на сайте.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.