Перед началом работы следует изначально понять что из себя представляет Webdriver и для чего он может использоваться. Обратимся к официальному сайту ChromeDriver: WebDriver — это инструмент с открытым исходным кодом для автоматизированного тестирования веб-приложений во многих браузерах. Он предоставляет возможности для навигации по веб-страницам, ввода данных пользователем, выполнения JavaScript и многого другого. ChromeDriver — это автономный сервер, реализующий стандарт W3C WebDriver. ChromeDriver доступен для Chrome на Android и Chrome для ПК (Mac, Linux, Windows и ChromeOS).
Когда дело касается парсинга сайтов, в которых может присутствовать необходимость использования специальных расширений, прохождения авторизации, работа с контентом посредством эмуляции реального пользователя, то Webdriver сложно будет найти замену, так как он позволяет выполнять все эти действия очень просто.
Единственное что нужно отметить, так это большой недостаток документации для языка PHP, в отличии от других языков.
Приступим. Перед началом работы нам необходимо установить соответствующий пакет, делается это с помощью такой команды внутри вашей папки с парсером:
- composer require php-webdriver/webdriver
Для выполнения этой команды у вас должен быть установлен Composer.
После успешной установки мы можем начинать работу. В первую очередь мы должны подключить все зависимости.
- namespace Facebook\WebDriver;
- use Facebook\WebDriver\Remote\DesiredCapabilities;
- use Facebook\WebDriver\Remote\RemoteWebDriver;
- require_once('vendor/autoload.php');
namespace является не обязательным, он нужен только для упрощения обращения к элементам WebDriver. Если вы используете несколько дополнительных библиотек необходимо прописывать полный путь к классам.
Осталось определить настройки и открыть нужную нам страницу (откроем официальную страницу библиотеки). Для этого воспользуемся вот такой конструкцией
- $capabilities = DesiredCapabilities::chrome();
- $driver = RemoteWebDriver::start($capabilities);
Если мы выполним наш код, создастся новое окно выбранного нами браузера(в моем случае это chrome) и откроется нужная нам страница.
Очень важно отметить что открытое окно не содержит информации о пользователе и расширениях (о работе с ними поговорим в следующих статьях).
Но как мы можем видеть, страница открывается и теперь есть возможность продолжить работать с ней. Дальше мы более детально рассмотрим работу с настройками WebDriver и будем взаимодействовать с элементами страницы, эмулируя работу пользователя.
Подписывайся чтобы не пропустить выход второй части.