Как установить ChromeDriver в Windows

Обновлено: 03.07.2024

На самом деле это просто захват определенной "благословенной" (этим модулем) версии ChromeDriver. По мере выпуска и проверки новых версий этот модуль будет обновляться соответствующим образом.

Пакет настроен на получение и запуск ChromeDriver для MacOS (darwin), платформ на базе Linux (определяется Node.js) и Windows. Если вы обнаружите какую-либо странность платформы, сообщите нам об этом или отправьте исправление.

Принудительная загрузка

По умолчанию после установки этот пакет будет искать существующий двоичный файл Chromedriver в настроенном временном каталоге. Если он найден и это правильная версия, он просто скопирует ее в каталог node_modules. Вы можете заставить его всегда загружаться, настроив его:

Или добавьте свойство в файл .npmrc.

Другой вариант — использовать переменную PATH CHROMEDRIVER_FORCE_DOWNLOAD .

URL пользовательских двоичных файлов

Или добавьте свойство в файл .npmrc.

Еще один вариант — использовать переменную PATH CHROMEDRIVER_CDNURL .

Пользовательский двоичный файл

Чтобы получить chromedriver из файловой системы вместо веб-запроса, используйте свойство конфигурации npm chromedriver_filepath .

Или добавьте свойство в файл .npmrc.

Другой вариант — использовать переменную PATH CHROMEDRIVER_FILEPATH

Эта переменная может использоваться для установки файла .zip или самого двоичного файла, например:

Пользовательские параметры загрузки

Установить через прокси.

Использовать другой User-Agent.

Пропуск загрузки ChromeDriver

Вы можете пропустить загрузку двоичного файла chromedriver, например, если вы точно знаете, что он уже есть, или если вы хотите использовать системный двоичный файл и просто использовать этот модуль в качестве интерфейса для взаимодействия с ним.

Для этого вы можете использовать свойство конфигурации npm chromedriver_skip_download .

Или добавьте свойство в файл .npmrc.

Другой вариант — использовать переменную PATH CHROMEDRIVER_SKIP_DOWNLOAD

Бег

И npm установит ссылку на бинарный файл в node_modules/.bin, как это обычно делается.

Запуск с Selenium WebDriver

(Проверено для selenium-webdriver версии 2.48.2)

Путь будет добавлен в процесс автоматически, его не нужно настраивать. Но вы можете получить его из require('chromedriver').path, если хотите.

Выполнение через узел

Пакет экспортирует строку пути, содержащую путь к двоичному/исполняемому файлу chromedriver.

Ниже приведен пример использования этого пакета через узел.

Вы также можете использовать методы запуска и остановки:

В последней версии вы можете дополнительно получать Promise от функции chromedriver.start:

Примечание: если ваши тесты выполняются асинхронно, chromedriver.stop() должен будет выполняться как обратный вызов в конце ваших тестов

Версии

Версия пакета NPM отслеживает версию chromedriver, которая будет установлена, с дополнительным номером сборки, который используется для редакций установщика. Вы можете использовать номер версии пакета для установки определенной версии или использовать настройку для конкретной версии. Если доступна новая версия Chromedriver, которая еще не доступна как версия node-chromedriver , можно использовать команду npm npm run update-chromedriver в этом репозитории для внесения необходимых обновлений в этот модуль. Пожалуйста, отправьте изменение как пиар. Чтобы всегда устанавливать последнюю версию Chromedriver, используйте LATEST в качестве номера версии:

Или добавьте свойство в файл .npmrc.

Другой вариант — использовать переменную env CHROMEDRIVER_VERSION .

Вы можете установить последний выпуск для определенной основной версии, указав LATEST_ :

Вы также можете принудительно установить другую версию chromedriver, заменив LATEST номером версии:

Определить версию ChromeDriver

Версия пакета NPM может не всегда быть совместима с вашей версией Chrome. Чтобы получить chromedriver, соответствующий установленной версии Chrome, вы можете использовать свойство конфигурации npm detect_chromedriver_version .

Или добавьте свойство в файл .npmrc.

Другой вариант — использовать переменную среды DETECT_CHROMEDRIVER_VERSION .

Примечание. Если указано свойство detect_chromedriver_version, свойства chromedriver_version и chromedriver_filepath игнорируются.

Включить хром

Если у вас не установлен Chrome, вы можете вместо этого проверить версию Chromium, установив для аргумента include_chromium значение true .

Или добавьте свойство в файл .npmrc.

Еще один вариант — использовать переменную среды INCLUDE_CHROMIUM .

Примечание. Свойство INCLUDE_CHROMIUM игнорируется, если не используется свойство DETECT_CHROMEDRIVER_VERSION.

Примечание о chromedriver

Chromedriver не является библиотекой для NodeJS.

Это оболочка NPM, с помощью которой можно удобно сделать ChromeDriver доступным. Это не оболочка Node.js.

Поддерживаемые версии Node.js

Мы сделаем все возможное, чтобы поддерживать все поддерживаемые версии Node.js. Текущие поддерживаемые версии см. в nodejs/Release. Вы также можете просмотреть наши сценарии сборки и проверить версии там.

Содействие

Приветствуются вопросы, комментарии, отчеты об ошибках и запросы на вытягивание. Отправьте их в проект на GitHub.

Отчеты об ошибках, которые включают шаги для воспроизведения (включая код), являются лучшими. Еще лучше сделать их в виде запросов на вытягивание.

Мы добавили поддержку VS Code Remote с контейнерами. Если вы работаете в Windows, установите ввод git config core.autocrlf, чтобы не возникало ошибок git.

Автор

Спасибо Obvious и их проекту PhantomJS за сильное вдохновение! Проверьте их проект на Github.

Google Chrome доминирует на рынке браузеров, занимая 64 % мирового рынка. Обладая рядом полезных функций, это один из самых популярных браузеров в мире. Учитывая его важность и использование, крайне важно протестировать все веб-сайты в Chrome.

В этой статье объясняется, как выполнять тесты Selenium в браузере Chrome с помощью ChromeDriver. Но перед этим давайте разберемся, что такое ChromeDriver и как пользователи могут настроить его в своих системах.

Что такое Selenium ChromeDriver?

ChromeDriver – это автономный сервер или отдельный исполняемый файл, который используется Selenium WebDriver для управления Chrome. Невозможно запустить тестовые скрипты Selenium в браузере Google Chrome без ChromeDriver. Можно легко инициализировать объект ChromeDriver с помощью следующей команды:

Как настроить ChromeDriver

Шаг 1. Сначала загрузите ChromeDriver. Пользователям необходимо загрузить ChromeDriver для своих операционных систем по этой ссылке. Обратитесь к изображению, чтобы получить более полное представление о загрузках ChromeDriver.

Selenium ChromeDriver

Шаг 2. После загрузки ZIP-файла для операционной системы разархивируйте его, чтобы получить исполняемый файл chromedriver.exe. Скопируйте этот файл в указанное место по вашему выбору.

Шаг 3. Теперь скопируйте путь, по которому сохранен файл ChromeDriver, чтобы задать системные свойства в переменных среды. Выполните следующие действия, чтобы задать путь в переменных среды:

 Selenium ChromeDriver

<р>1. Щелкните правой кнопкой мыши "Мой компьютер" и выберите "Свойства"

<р>2. Выберите параметр «Изменить настройки», а затем перейдите на вкладку «Дополнительно»

3. Теперь выберите переменные среды на вкладке «Дополнительно».

Тесты Selenium в Chrome

<р>4. Теперь из доступных параметров системных переменных выберите параметр «Путь» и нажмите «Изменить».

Selenium с ChromeDriver

<р>5. В конце строки введите точку с запятой «;», вставьте путь к файлу ChromeDriver, который вы скопировали ранее, и нажмите «ОК».

Слышали о SafariDriver? Узнайте, как запускать тесты Selenium в Safari с помощью SafariDriver.

Пользователи macOS могут выполнить следующие действия:

  1. Подойдите к терминалу и введите команду: sudo nano /etc/paths
  2. Введите пароль
  3. Внизу файла добавьте путь к вашему ChromeDriver
  4. Нажмите Y, чтобы сохранить
  5. Чтобы выйти, нажмите Control + C.

Инструкции по запуску тестов Selenium в браузере Chrome

Теперь давайте обсудим, как запускать скрипты Selenium в браузере Chrome с помощью ChromeDriver.

  1. Установите интегрированную среду разработки (IDE) Eclipse и импортируйте все зависимости Selenium в каталог проекта. (Пользователи могут использовать и другие IDE по своему выбору)
  2. Установите свойства, указав тип используемого драйвера, а также путь к нему, указывающий, где он хранится.
  3. Инициализируйте объект ChromeDriver. Это помогает при запуске браузера Chrome.
  4. Чтобы перейти к определенному URL-адресу, используйте метод driver.get(). Также можно найти определенные веб-элементы, используя определенные локаторы. Чтобы узнать больше о том, как найти элементы в Selenium, обратитесь к этому подробному руководству по локаторам в Selenium.

Совет для профессионалов. Хотите глубже изучить реализацию Selenium в BrowserStack с помощью бесплатных интерактивных курсов и лабораторных упражнений? Посетите тестовый университет

Теперь давайте рассмотрим пример тестового примера, в котором мы хотим выполнить 3 простых шага:

Знаете ли вы, что существует более 75 версий браузера Chrome для тестирования. Не пропустите тестирование!

Обратитесь к приведенному ниже фрагменту кода, чтобы получить более полное представление о выполнении шагов, упомянутых выше:

При выполнении вышеуказанной программы ChromeDriver запускает браузер Chrome, открывает веб-сайт Google и вводит значение Youtube в поле поиска. Вот как можно запускать тесты Selenium в Chrome с помощью ChromeDriver.

Несмотря на то, что тестирование веб-приложений для Chrome жизненно важно, также важно, чтобы веб-приложение было оптимизировано для других браузеров на рынке, таких как Firefox, Safari, Edge и т. д. Команды могут использовать такие платформы, как BrowserStack, которые позволяют выполнять контроль качества. кросс-браузерное тестирование своих веб-приложений в тысячах реальных браузеров и версий браузеров, таких как Safari, Opera, Edge и т. д. Все настоящие браузеры установлены на реальных настольных и мобильных устройствах, что обеспечивает оптимальную среду для тестирования программного обеспечения в реальных пользовательских условиях.

Иногда при очистке веб-страниц нам нужно автоматизировать наш компьютер, чтобы открыть веб-браузер для сбора информации с каждой страницы. Это особенно верно, когда контент сайта, который мы хотим очистить, загружается динамически с помощью JavaScript.

Установите ChromeDriver

Чтобы установить ChromeDriver, убедитесь, что он уже установлен:

Selenium: введите команду pip install selenium .

  • В качестве альтернативы откройте Anaconda Prompt (Windows) или Terminal (Mac), введите команду conda install selenium и согласитесь с тем, что менеджер пакетов хочет установить или обновить (обычно нажатием y для подтверждения вашего выбора).

Диспетчер Webdriver для Python: введите команду pip install webdriver_manager

После получения этих пакетов вы можете установить ChromeDriver следующим образом:

Установка ChromeDriver вручную

Если по какой-либо причине предыдущий способ не помог или вы просто предпочитаете установить ChromeDriver вручную, выполните приведенные ниже действия для конкретной операционной системы.

Пользователи Windows

Посмотрите наше видео на YouTube, в котором мы проведем вас через настройку в Windows.

  • Установите Google Chrome отсюда.
  • Загрузите версию Chromedriver для Windows отсюда.
  • Извлеките содержимое из ZIP-файла и извлеките его в новый каталог C:\chromedriver . Если у вас нет прав администратора, вы можете поместить файл также в другую папку, например, C:\Program Files\chromedriver или C:\Users\[your-username]\chromedriver. Неважно, куда именно будет помещен файл, главное, чтобы вы помнили, где он находится (однако не рекомендуется оставлять его в папке загрузок).
  • Убедитесь, что файл chromedriver.exe находится непосредственно по указанному вами пути PATH, т. е. по пути C:\chromedriver (или альтернативному пути). Если ваш zip-распаковщик создал новую папку с другим именем внутри указанной папки, переместите файл .exe по этому пути.
  • Добавьте каталог C:\chromedriver (или любой другой каталог, который вы выбрали выше) в свой PATH, как описано ранее (инструкции см. ниже)
  • Если все прошло успешно, откройте терминал или командную строку и введите chromedriver --version , вы должны получить вывод, похожий на ChromeDriver [номер версии]

Сделать chromedriver доступным через настройки PATH в Windows.

Нам нужно обновить наши настройки PATH; эти параметры представляют собой набор каталогов, которые Windows использует для «поиска» программного обеспечения при запуске.

Открыть настройки переменных среды

  • Щелкните правой кнопкой мыши Компьютер.
  • Перейдите в «Свойства» и выберите вкладку «Дополнительные параметры системы».
  • Выберите «Переменные среды».

Кроме того, введите «переменная среды» (голландский: omgevingsvariabelen) в меню поиска Windows 10 и нажмите Enter.

Выберите путь из списка пользовательских переменных. Выберите «Изменить» .

Компьютеры с Windows 7 и 8: если во время установки вы выбрали каталог установки C:\chromedriver (т. е. вы использовали каталог по умолчанию), скопируйте и вставьте следующую строку без пробелов в начале и в конце:< /p>

Машины с Windows 10:

Нажмите «Создать» и вставьте следующую строку:

Нажимайте OK столько раз, сколько необходимо.

Пользователи Mac

Давайте сначала установим Homebrew!

Убедитесь, что ваш пакет Homebrew обновлен. Для этого откройте терминал и введите

Если это возвращает ошибку, Homebrew не установлен.

  • Чтобы установить Homebrew, откройте терминал и вставьте следующую команду:
  • Чтобы убедиться, что Homebrew установлен правильно, введите в терминал следующее

… и вы должны увидеть следующий вывод

Иногда варочный доктор возвращает некоторые предупреждения.Хотя желательно исправить их (в конечном итоге), вам обычно не нужно делать это, чтобы начать работу с Chromedriver, поэтому просто попробуйте продолжить отсюда.

Перейдем к установке Chromedriver

Мы предполагаем, что у вас установлен Google Chrome. Если нет, сделайте это в первую очередь, пожалуйста.

Доступна более новая предварительная версия этого пакета.
Подробности см. в списке версий ниже.

Для проектов, поддерживающих PackageReference, скопируйте этот XML-узел в файл проекта для ссылки на пакет.

Пакет NuGet — Selenium WebDriver ChromeDriver

Что это?

Этот пакет NuGet устанавливает драйвер Chrome (Win32, macOS и Linux64) для Selenium WebDriver в проект модульного тестирования.

"chromedriver(.exe)" не отображается в обозревателе решений, но копируется в выходную папку из исходной папки пакета в процессе сборки.

Пакет NuGet готов к восстановлению, и нет необходимости фиксировать двоичный файл "chromedriver(.exe)" в репозитории управления исходным кодом.

Как установить?

Например, в консоли диспетчера пакетов в Visual Studio введите следующую команду.

Если вы используете Chrome версии 99:

Если вы используете Chrome версии 98:

Если вы используете Chrome версии 97:

Чтобы узнать, какую версию ChromeDriver вам нужно использовать, см. также следующую страницу:

Кроссплатформенное создание и публикация

По умолчанию — это зависит от ОС, на которой запущен процесс сборки

По умолчанию тип платформы файла веб-драйвера, копируемого в выходную папку, зависит от операционной системы, в которой запущен процесс сборки.

  • При сборке проекта, который ссылается на пакет NuGet chromedriver в ОС Windows, версия chromedriver для win32 будет скопирована в выходную папку.
  • При сборке на macOS 64-разрядная версия chromedriver для macOS будет скопирована в выходную папку.
  • При сборке в любом дистрибутиве Linux 64-разрядная версия chromedriver для Linux будет скопирована в выходную папку.

Способ 1. Укажите «Идентификатор времени выполнения»

При явном указании "Идентификатор среды выполнения (RID)" тип платформы файла драйвера совпадает с указанным RID. (это не зависит от того, какую ОС использовать для процесса сборки.)

Вы можете указать RID как свойство MSBuild в файле проекта,

или в качестве параметра командной строки -r для команды сборки dotnet.

  • Если указан RID, начинающийся с "win", версия chromedriver для win32 будет скопирована в выходную папку.
  • Если указан RID, начинающийся с "osx", версия chromedriver для macOS x64 будет скопирована в выходную папку.
  • Если указан RID, начинающийся с "linux", 64-разрядная версия chromedriver для Linux будет скопирована в выходную папку.

Если вы укажете другой шаблон RID, например "ubuntu.18.04-x64", тип платформы файла веб-драйвера, который будет скопирован в выходную папку, зависит от операционной системы, в которой запущен процесс сборки. (поведение по умолчанию.)

Способ 2. Укажите свойство msbuild "WebDriverPlatform"

Вы можете указать, какая версия платформы chromedriver будет скопирована, указав свойство "WebDriverPlatform" MSBuild.

Свойство MSBuild "WebDriverPlatform" может принимать одно из следующих значений:

Вы можете указать свойство MSBuild "WebDriverPlatform" в файле проекта,

или параметр командной строки -p для команды сборки dotnet.

Указание свойства MSBuild "WebDriverPlatform" является методом с наивысшим приоритетом для управления тем, какая версия платформы chromedriver будет скопирована.

Если вы запустите следующую команду в ОС Windows,

Файл драйвера версии macOS x64 будет скопирован в выходную папку.

Как включить файл драйвера в опубликованные файлы?

"chromedriver(.exe)" не включается в публикуемые файлы в конфигурации по умолчанию. Такое поведение предусмотрено дизайном.

Если вы хотите включить "chromedriver(.exe)" в публикуемые файлы, укажите символ компиляции _PUBLISH_CHROMEDRIVER.

определить компиляцию _PUBLISH_CHROMEDRIVER символ

Другим способом можно определить свойство PublishChromeDriver со значением "true" в файле MSBuild (.csproj, .vbproj и т. д.), чтобы опубликовать файл драйвера вместо определения символа компиляции.

Вы также можете определить свойство PublishChromeDriver с помощью параметра командной строки -p для команды публикации dotnet.

Свойство MSBuild PublishChromeDriver всегда переопределяет условие определения символа компиляции _PUBLISH_CHROMEDRIVER или нет. Если вы определяете свойство MSBuild PublishChromeDriver со значением false, то файл драйвера не включается в файлы публикации независимо от того, определяете символ компиляции _PUBLISH_CHROMEDRIVER или нет.

Приложение

Нумерация версии пакета

Правило номера версии этого пакета:

версия chromedriver MAJOR.MINOR.BUILD.PATCH + версия пакета (две цифры)

Например, второй выпуск пакета для chromedriver версии 1.2.3.4, версия пакета 1.2.3.4 + 02 → 1.2.3.402 .

Иногда может быть выпущено несколько пакетов для одной и той же версии chromedriver по следующим причинам.

  • Отсутствует упаковка. (в пакет включена неверная версия файлов драйвера)
  • Исправление ошибки сценария сборки или улучшение сценария сборки.

Где сохраняется файл chromedriver.exe?

chromedriver(.exe) существует в
" /packages/Selenium.WebDriver.ChromeDriver. /driver/ "
папке.

И установщик пакетов настроит задачу MSBuild, например .csproj, для копирования chromedriver(.exe) в выходную папку во время процесса сборки.

Лицензия

Скрипт сборки (файл .targets) в этом пакете NuGet находится под лицензией The Unlicense.

Двоичные файлы ChromeDriver лицензируются в соответствии с пунктом BSD-3.

У этого пакета нет зависимостей.

Пакеты NuGet (110)

[УСТАРЕЛО] Вместо этого используйте Install-Package Ocaramba.Features Install-Package Ocaramba.MsTest Install-Package Ocaramba.NUnit Install-Package Ocaramba.xUnit

Среда для автоматизации тестов с помощью Selenium WebDriver

Репозитории GitHub (36)

Читайте также: