как установить geckodriver linux
Installing browser drivers
Through WebDriver, Selenium supports all major browsers on the market such as Chrom(ium), Firefox, Internet Explorer, Edge, Opera, and Safari. Where possible, WebDriver drives the browser using the browser’s built-in support for automation, although not all browsers have official support for remote control.
WebDriver’s aim is to emulate a real user’s interaction with the browser as closely as possible. This is possible at varying levels in different browsers.
Even though all the drivers share a single user-facing interface for controlling the browser, they have slightly different ways of setting up browser sessions. Since many of the driver implementations are provided by third parties, they are not included in the standard Selenium distribution.
Driver instantiation, profile management, and various browser specific settings are examples of parameters that have different requirements depending on the browser. This section explains the basic requirements for getting you started with the different browsers.
Adding Executables to your PATH
Most drivers require an extra executable for Selenium to communicate with the browser. You can manually specify where the executable lives before starting WebDriver, but this can make your tests less portable as the executables will need to be in the same place on every machine, or include the executable within your test code repository.
By adding a folder containing WebDriver’s binaries to your system’s path, Selenium will be able to locate the additional binaries without requiring your test code to locate the exact location of the driver.
You are now ready to test your changes. Close all open command prompts and open a new one. Type out the name of one of the binaries in the folder you created in the previous step, e.g.:
If your PATH is configured correctly, you will see some output relating to the startup of the driver:
You can regain control of your command prompt by pressing Ctrl+C
Quick reference
Browser | Supported OS | Maintained by | Download | Issue Tracker |
---|---|---|---|---|
Chromium/Chrome | Windows/macOS/Linux | Downloads | Issues | |
Firefox | Windows/macOS/Linux | Mozilla | Downloads | Issues |
Edge | Windows 10 | Microsoft | Downloads | Issues |
Internet Explorer | Windows | Selenium Project | Downloads | Issues |
Safari | macOS El Capitan and newer | Apple | Built in | Issues |
Opera | Windows/macOS/Linux | Opera | Downloads | Issues |
Chromium/Chrome
To drive Chrome or Chromium, you have to download chromedriver and put it in a folder that is on your system’s path.
On Linux or macOS, this means modifying the PATH environmental variable. You can see what directories, separated by a colon, make up your system’s path by executing the following command:
To include chromedriver on the path, if it is not already, make sure you include the chromedriver binary’s parent directory. The following line will set the PATH environmental variable its current content, plus an additional path added after the colon:
When chromedriver is available on your path, you should be able to execute the chromedriver executable from any directory.
To instantiate a Chrome/Chromium session, you can do the following:
Firefox до 46 версии поставляется с поддержкой WebDriver. Geckodriver требуется для Firefox выше 47+ версии. Нужно установить geckodriver отдельно от браузера.
Скачать geckodriver для Linux, Windows и Mac
Зайдите на github страницу с релизами чтобы выбрать нужный вам файл для скачивания в зависимости от вашей операционной системы и версии браузера Firefox.
На текущий момент, актуальная версия geckodriver является v0.26.0.
Установка geckodriver под Ubuntu, Windows и Mac
Ниже мы приводим примеры более «правильной» установки драйвера, но есть и более быстрый способ. Примените данный метод в двух случаях.
Инструкция установки
Если у вас Linux дистрибутив или Mac, вам нужно дать файлу geckodriver нужные права на выполнения. Открываем терминал и вводим команды одна за другой.
Теперь, когда вы будете запускать код в Python, вы должны указать Selenium на этот файл.
Для Windows
Минусы такого подхода
Установка geckodriver в Ubuntu, Debian и ArchLinux
Выбираем (в зависимости от архитектуры процессора x32 или x64) нужный tar архив. В моем случае будет файл geckodriver-v0.26.0-linux64.tar.gz у меня Ubuntu 18.04.3 LTS.
Вытаскиваем файл из архива.
Даем нужные права драйверу.
Отправляем драйвер в папку где его будет искать Selenium.
Установка geckodriver в Mac OS
Пожалуй, самая простая установка в Mac. Выполняем в терминале:
Проблема такого подхода в том, что может быть старая версия. Для новой версии смотрите на страницу github с релизами и скачиваем архив geckodriver-v0.26.0-macos.tar.gz.
Заходим через терминал в папку где будет лежать архив и сам драйвер.
Даем драйверу права на выполнения.
/.bashrc» с помощью VIM или NANO.
Добавляем в конец файла следующие строки. ВНИМАНИЕ! Заменяем «/your/path/» указывая реальный путь к geckodriver файлу.
Возможно вы не поймете как выйти из VIM. Такое бывает.
Теперь у вас будет последняя версия geckodriver на вашем новеньком маке.
Установка geckodriver в Windows
Windows пользователи возможно не слышали о таким виде архивов как tar.gz это нормально. Скачиваем и устанавливаем программу 7-Zip.
Программа для распаковки tar.gz в Windows: http://www.7-zip.org/
Полная инструкция по установки geckodriver в Windows показана в видео. Смотрим с 40 секунды и повторяем. Помните что не нужно скачивать именно ту версию, что указана в видео. По указанной ссылке с github последняя версия 0.19.1 когда в самом видео 12-я версия. Скачивайте самую новую версию, возможно когда вы сейчас читаете эту статью уже вышла новая версия — скачиваем её.
Скрипт теста ниже откроет веб-сайт в новом окне Firefox.
Установка Selenium в Linux
Платформа работает на Java и для подключения к браузерам использует драйвера браузеров. Есть драйвер для Chrome, Firefox, Opera, IE. Также в рамках Chrome можно пользоваться эмулятором мобильных платформ. В этой статье мы рассмотрим как выполняется установка Selenium Linux на примере Ubuntu.
Установка Selenium в Linux
1. Установка Java
Поскольку для работы программы нужна Java, сначала вам придется её установить. Вы можете воспользоваться статьей установка java в linux чтобы найти как установить этот пакет программ в свою систему. В Ubuntu можно установить версию OpenJDK такой командой:
sudo apt install openjdk-8-jre
Я специально написал в заголовке linux, на не Ubuntu, или другой дистрибутив, потому, что установка в большинстве дистрибутивов практически не будет отличаться. Далее вам нужно установить браузер, скачать драйвера для нужных браузеров, а потом скачать исполняемый файл Selenium и всё.
2. Установка браузеров и драйверов
Поддержку IE в Linux, получить не получится, но мы можем работать с Chrome и Firefox. Для установки этих браузеров выполните:
sudo apt install firefox chromium-browser
Скачайте самую последнюю версию драйвера для Chrome из официальной страницы. Обратите внимание, что версия драйвера должна соответствовать версии вашего браузера. Версию Chrome можно узнать открыв chrome://settings/help
Для Chrome 76 нужно использовать такую же версию драйвера.
Далее распакуйте полученный архив и переместите драйвер в папку /usr/local/bin:
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/local/bin/chromedriver
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod +x /usr/local/bin/chromedriver
Теперь надо установить selenium webdriver для Firefox. Он называется GeckoDriver и скачать его можно на этой странице. Аналогично, надо распаковать полученный архив и переместить файл geckodriver в /usr/local/bin:
Далее можно переходить к установке Selenium в Linux.
3. Установка Selenium
Платформа selenium представляет из себя обычную java программу, которую можно скачать на официальном сайте.
На момент написания статьи самая последняя версия программы 3.141.59:
Далее загруженную программу можно запустить с помощью java машины и можно начинать тесты:
Если вы хотите запускать программу на сервере, где не установлена графическая оболочка, то вам понадобится пакет xvfb, в котором реализован виртуальный фреймбуфер в памяти:
sudo apt install xvfb libxi6 libgconf-2-4
Если вы не хотите запускать selenium вручную, можно настроить автоматический запуск программы при старте системы. Сначала надо переместить Selenium в какую нибудь системную директорию, например, в /usr/bin/local:
sudo mv selenium-server-standalone-3.141.59.jar /usr/local/bin/
Создайте нового пользователя, от имени которого будет работать Selenium:
4. Настройка Selenium и systemd в графике
Далее надо разрешить этому пользователю подключаться к дисплейному серверу:
Теперь напишем такой systemd юнит:
sudo vi /etc/systemd/system/selenium.service
Теперь выполните такие команды для добавления сервиса в автозагрузку и запуска:
5. Настройка Selenium и systemd в xvfb
Если вы захотите запускать Selenium на сервере без графического интерфейса, то вам понадобится виртуальный фреймбуфер xvfb. Для этого сначала установите эту утилиту:
sudo apt install xvfb
Далее создадим файл сервиса для запуска xvfb:
sudo vi /etc/systemd/system/xvfb.service
Затем делаем файл сервиса для Selenium:
sudo vi /etc/systemd/system/selenium.service
Затем, как и в предыдущем случае, нам остается выполнить несколько команд systemd, чтобы перечитать конфигурационные файлы с диска:
6. Настройка Selenium и PHP
За время развития Selenium для него было написано множество библиотек для разных языков. Дальше мы рассмотрим как использовать эту программу вместе с PHP. Благодаря стараниям Facebook это возможно. Только необходимо установить пакет facebook/webdriver с помощью composer:
composer require facebook/webdriver
Далее вы можете использовать эту библиотеку в своих скриптах:
Готово. Теперь осталось выполнить скрипт и если все было сделано правильно, перед вами откроется браузер.
Выводы
В этой статье мы рассмотрели как установить Selenium в Ubuntu 18.04. С установкой программы надо поиграться, но возможности по автоматизации тестированию, которые она предоставляет однозначно того стоят.
Firefox+geckodriver + selenium
The above is the version I configured
Click the tutorial link
First, take a look at the corresponding configuration of geckodriver, selenium, and firefox
Special attention: as long as you install it according to the corresponding version, you don’t have to question it after you report an error. The answers you search basically say that the corresponding version number is incorrect; I have encountered a lot of problems, but in the end it is not the reason at all. I tried it many times.
2. Download different versions of firefox
Ps: Find a lot of websites are the latest version of firefox, because it needs to match selenium, it is very inconvenient to use, here is how to download linux
wget http://releases.mozilla.org/pub/firefox/releases/75.0b7/linux-x86_64/en-US/firefox-75.0b7.tar.bz2 (wget + directly right click to copy the link address)
2) Modify owner and my firefox is under /usr/lib
3) Delete the original link
4) Establish a new link:
Three, install selenium
Download according to different versions, pip is also possible, personally think that the dependency of anaconda is still very useful, worry-free, and avoid dependency installation errors;
Fourth, install geckodriver
(Also right-click and copy the link address to download)
Five, test whether the installation is successful
Installed without error!
Error: no DISPLAY environment variable specified error
Error: selenium.common.exceptions.WebDriverException: Message: invalid argument: can’t kill an exited process
The results of the online search were that the version did not correspond. In the end, I was smashed. I always thought that there was a problem with the version. Various changes were still not possible. Finally, I found an error in geckodriver.log: no DISPLAY environment variable specified
The basic answer is also inconsistent with the version! 【Crazy】
Ps: Finally, I tried the above code and finally solved the problem;
Xiaobai, who has not installed under Linux, will definitely report error and entangled version like me. The main reason is that the tutorial is not detailed and old. As long as you follow the link I pushed above to match and install it, it will not be a version issue. So I hope everyone can avoid detours;
Русские Блоги
Метод установки GeckoDriver драйвера браузера Firefox
Selenium обычно используется в python для сканирования динамически отображаемых веб-страниц. Во время этого процесса необходимо установить драйвер браузера. На этот раз возьмем браузер Firefox в качестве примера, установите его драйвер Geckodriver.
1. Скачайте Geckodriver
Ссылка для скачивания: https://github.com/mozilla/geckodriver/releases
2. Разархивируйте
Загруженный файл представляет собой сжатый zip-архив, распакуйте файлы в пакете.
3. Поместите загруженный GeckoDriver.exe в папку Scripts по пути установки python.
(Добавить скрытые переменные среды)
4. Наконец войдите в консоль cmd, введите geckodriver, если появится следующее изображение, установка прошла успешно.
Интеллектуальная рекомендация
AlamoFire Source Severtation Series (12) ось времени (временная шкала)
Эта статья приносит некоторые идеи о временной шкале в AlamoFire Преступность Перевод Timeline означает, что временная шкала может представлять событие с начала до конца узла времени. Концепция времен.