Что такое Selenium
Selenium — это бесплатная и открытая библиотека для автоматизированного тестирования веб-приложений и автоматизации действий в браузере.
Selenium поддерживает все основные браузеры, но в этом курсе мы будем говорить только про браузер Chrome, т.к. он является самым популярным браузером на планете. К тому же использование других браузеров отличается только способом установки webdriver.
Парсеры на Selenium могут быть написаны на нескольких языках программирования: Java, C#, Python, JavaScript, Ruby и Kotlin. Нас же, конечно, интересует язык Python, с которым мы умеем обращаться.
Сценарные языки программирования, такие как Ruby и Python, больше подходят для скриптов, чем компилируемые языки, такие как C# и Java.
Итак, Selenium — это программная библиотека для управления браузерами. Часто можно встретить и другое название — WebDriver. На самом деле, это целое семейство драйверов для различных браузеров, а также набор библиотек на разных языках, позволяющих работать с этими драйверами.
Webdriver — Это основной продукт, разрабатываемый в рамках проекта Selenium.
В семейство Selenium входят такие вещи как:
Selenium RC – это предыдущая версия библиотеки для управления браузерами.
Selenium Server – это сервер, который позволяет управлять браузером с удалённой машины, по сети.
Selenium Grid – это кластер, состоящий из нескольких Selenium-серверов.
Selenium IDE – плагин к браузеру Firefox, который может записывать действия пользователя.
Selenium WebDriver — библиотека для управления браузерами.
К счастью (для вас), в этом курсе мы не будем говорить обо всем. Нас интересует только последний пункт, Selenium Webdriver для браузера Chrome.
Основные понятия в Selenium Webdriver
Webdriver — самая важная сущность, ответственная за управление браузером. Основной ход скрипта строится именно вокруг экземпляра этой сущности.
Webelement — вторая важная сущность, представляющая собой абстракцию над веб-элементом (кнопки, ссылки, поля ввода и др.). Webelement — это DOM-объект, находящийся на веб странице.
By — класс, содержащий статические методы для идентификации элементов, о которых подробнее мы будем говорить в следующих степах.
Преимущества Selenium
Selenium + бесплатный продукт с открытым исходным кодом.
Selenium + очень гибкий инструмент, мы можем писать поистине большие скрипты, которые будут собирать информацию по заданным нами алгоритмам с множества сайтов.
Selenium + разрабатывается с 2004 года. За это время он стал самым популярным инструментом для тестирования веб-приложений.
Selenium + имеет огромное комьюнити, как в России, так и за её границами.
Selenium + благодаря своей популярности, хорошо и многократно описан в интернете с кучей примеров. Но таких задачек, как на этом курсе, вы не найдете больше нигде.
Недостатки Selenium
Selenium — не просто устанавливать. Если вы, как разработчик, все делаете на автомате, то вот ваш клиент с фриланс-биржи может и не разобраться с тем, как обновить webdriver при очередном автоматическом обновлении Chrome.
Selenium — подходит для работы только с веб-сайтами.
Selenium — может подвисать на слабых машинах, потому что во время работы используется Chrome, который умеет поглощать для своих нужд огромное количество оперативной памяти. Важно учитывать это и давать браузеру время, чтобы прогрузить все содержимое страницы.
Selenium — на собственном опыте замечено, что Selenium может не запускать один и тот же скрипт с первого раза, хотя с повторных запусков все работает без проблем. Имейте в виду эту особенность.