Всем ку! Сегодня мы познакомимся с такой штукой как Selenium, с помощью этого инструмента автоматизируют действия в веб браузере, используют для тестирования веб приложений, пишут парсеры там где другие либы не справляются.
Мы будем использовать библиотеку для python3 и браузер Chromium.
Для начала подготовим окружение для работы. Установим сам браузер:
Создадим изолированную среду c python3.7 и и пакетом Selenium, другие библиотеки будем устанавливать по ходу надобности.
Далее нам нужно установить WebDriver, для этого проверим версию установленного браузера Chromium
Драйвера для браузера Chrome и Chromium:
https://sites.google.com/a/chromium.org/chromedriver/downloads
Edge: https://developer.microsoft.com/en-us/microsoft-edge/tool/webdriver/
Firefox: https://github.com/mozilla/geckodriver/releases
Safari: https://webkit.org/blog/6900/webdriver-support-in-safari-10/
Качаем драйвер который подходит к версии нашего браузера. В моем случае это ChromeDriver 80.0.3987.106
После того как скачается архив с драйвером, нам надо его распаковать и поместить в переменную PATH
После проделанных выше действий все готово к написанию кода.
Напишем скрипт который открывает главную страничку Яндекса, делает поисковый запрос, и открывает первую ссылку по нашему запросу.
Делаем импорты и определяем переменные
Далее, нам нужно указать страницу которую требуется открыть и найти на ней поле для ввода текста поискового запроса. Для этого откроем страницу яндекса, и правой кнопкой мыши кликнем по полю для ввода текста и выберем "Посмотреть код"
Справа откроется код страницы, нас интересует атрибут name, именно по нему мы и будем искать поле ввода в нашем скрипте
Продолжаем писать скрипт
driver.get() - открывает страницу , принимает 1 аргумент URL
S - переменная в которой ищем элемент, можно искть по тегу, тексту, классу, css, xpath
s.send_keys - имитируем ввод текста
s.submit подтверждаем или типа нажимаем Ентер
Далее нам нужно найти элемент который будет открывать первую ссылку в поисковом запросе, введем рандомный запрос и посмотрим код элемента
Первым делом мы видим список, раскроем его и поищем по какому эдементу будем определять ссылку, я выбрал class organic__url-text, и теперь посмотрим что получилось у нас в итоге.
И вот итог
Спасибо всем кто дочитал до конца! Прошу прощенья за нескладный слог(
Всем добра и здоровья!