Python Development
Александр Вотин, Backend developer · 16.09
Selenium. Как автоматизировать браузер на Python
Когда обычные способы не справляются, приходит он — Selenium. Представь, что тебе нужно зайти на сайт, кликнуть по паре кнопок, подождать, пока подгрузится список товаров, а потом ещё и данные вытянуть. Вручную? Да ну, скучно! Вот тут Selenium и спасает. Это как свой личный помощник в браузере, который кликает, пишет и даже страницу скроллит за тебя. Магия, да и только!
Для начала всё как обычно: устанавливаем библиотеку через pip. И тут же скачиваем драйвер для браузера, чтобы Selenium мог с ним подружиться. Для Chrome тебе нужен ChromeDriver.
Представь, что ты сидишь за компом и открываешь браузер, вводишь URL, ищешь что-то, нажимаешь Enter — всё это может сделать Selenium, но без твоих уставших пальцев. Давай на примере разберём, как с помощью Selenium можно открыть Google и автоматизировать поиск.
Пример, автоматизация поиска в Google Допустим, тебе нужно ввести "Python Selenium" в поисковик, нажать Enter и получить результаты. Это легко!
- Открытие браузера. Ты создаёшь экземпляр Chrome и открываешь страницу через driver.get().
- Поиск элемента. Находим поле ввода по атрибуту name и вводим туда текст с помощью send_keys().
- Имитация нажатия Enter. Имитируем нажатие клавиши Enter, как будто ты сам это сделал.
- Ожидание загрузки. Немного ждём (как это делает обычный пользователь, чтобы всё загрузилось).
- Закрытие браузера. Как только дело сделано, закрываем браузер через driver.quit(), чтобы память не ел.
Когда пригодится Динамические сайты. Если страница загружается с помощью JavaScript, и requests с BeautifulSoup не видят контент. Автоматизация рутины. Сходи по ссылкам, кликни на кнопки, собери данные — Selenium сделает это на автомате. Тестирование сайтов. Проверяй, как работает твой сайт: формы, кнопки, скроллы и т.д.
Selenium — это как ручной браузерный бот, он может делать что угодно на сайте, причём быстро и эффективно. Особенно это круто, когда надо работать с сайтами, которые меняются на ходу. Да и вообще, он спасает кучу времени, потому что не придётся больше сидеть и вручную кликать. Доверь это машине!
еще контент автора
еще контент автора
Python Development
Александр Вотин, Backend developer · 16.09
войдите, чтобы увидеть
и подписаться на интересных профи