Как установить chromedriver ubuntu

Обновлено: 05.07.2024

Google Chrome или Chrome - это бесплатный веб-браузер, разработанный компанией Google на основе движка Webkit. По состоянию на 2020 год Google Chrome используют около 69% пользователей интернета, а это на 9% больше чем в 2018 году. И этот браузер переведён на 52 языка мира. Google Chrome доступен для Linux, Android, IOS, Windows и операционной системы MacOS.

Но Google Chrome больше, чем просто веб-браузер, поскольку он сочетает в себе современный браузер, встроенные приложения Chromium, красивый дизайн, встроенный переводчик и всё для того, чтобы помочь пользователям просматривать веб-страницы немного быстрее, проще и безопаснее, чем когда-либо прежде. Кроме того, у браузера есть версия с открытым исходным кодом. В этой статье мы рассмотрим, как установить Chrome в Ubuntu 20.04.

Интересной особенностью Chrome является возможность выполнять поиск прямо из строки браузера, просто начните вводить запрос, и вы сразу получите подсказки, или даже ссылки на нужные вам сайты. На главной странице отображаются миниатюры наиболее часто посещаемых сайтов. Эта функция позволяет открыть любимые сайты намного быстрее. В этой статье мы будем рассматривать самую свежую на данный момент версию браузера. Для стабильной версии это 83, а для не стабильной - 85.

Установка Google Chrome в Ubuntu 20.04

Установить Google Chrome можно не только в Ubuntu 20.04, но и в предыдущих версиях, в том числе и в Ubuntu 16.04, а также в Linux Mint и Debian. Кроме того, сам установочный пакет добавляет в систему репозитории Chrome, поэтому вы всегда будете получать обновления браузера при обновлении системы. Для установки откройте терминал с помощью сочетания клавиш Ctrl+Alt+T и выполните команды:

Установка стабильной версии Chrome в Ubuntu 64 бит:

sudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb

Для установки нестабильной, но более новой версии надо заменить слово stable на слово unstable:

sudo dpkg -i --force-depends google-chrome-unstable_current_amd64.deb

Установка Chrome в Ubuntu 18.04 32 бит, выполняется не так просто. Поскольку компания Google прекратила поддержку 32 битных систем в своем браузере, вы не можете установить самую новую 83 версию, зато можете скачать стабильную 48 из архивов:

Если вы хотите самую новую версию для 32 битной системы, то вам придется установить Chromium. В случае, если dpkg сообщает о невозможности удовлетворить зависимости, выполните такую команду:

sudo apt-get install -f

Также вы можете попытаться вручную установить зависимости chrome:

sudo apt-get install libxss1 libgconf2-4 libappindicator1 libindicator7

Установка браузера завершена. Для его запуска просто выполните:

Кроме того, вы можете найти программу в главном меню системы:

При первом запуске браузер спросит можно ли отправлять данные в Google, а также предложит сделать Chrome браузером по умолчанию.

Вот и всё. Надеюсь эта статья пролила ясность на установку Google Chrome Ubuntu 18.04.

Selenium - это платформа для автоматического тестирования веб-приложений, которая позволяет не только тестировать программное обеспечение, но и создавать различные программы для автоматизации задач, выполняемых в браузере. Программа может работать с браузером так же, как и человек - двигать мышкой, кликать, листать страницы, находить элементы по классу, имени, css селектору или xpath, а также делать снимки веб-страницы.

Платформа работает на Java и для подключения к браузерам использует драйвера браузеров. Есть драйвер для Chrome, Firefox, Opera, IE. Также в рамках Chrome можно пользоваться эмулятором мобильных платформ. В этой статье мы рассмотрим как выполняется установка Selenium Linux на примере Ubuntu.

Установка Selenium в Linux

1. Установка Java

Поскольку для работы программы нужна Java, сначала вам придется её установить. Вы можете воспользоваться статьей установка java в linux чтобы найти как установить этот пакет программ в свою систему. В Ubuntu можно установить версию OpenJDK такой командой:

Я специально написал в заголовке linux, на не Ubuntu, или другой дистрибутив, потому, что установка в большинстве дистрибутивов практически не будет отличаться. Далее вам нужно установить браузер, скачать драйвера для нужных браузеров, а потом скачать исполняемый файл Selenium и всё.

2. Установка браузеров и драйверов

Поддержку IE в Linux, получить не получится, но мы можем работать с Chrome и Firefox. Для установки этих браузеров выполните:

sudo apt install firefox chromium-browser

Скачайте самую последнюю версию драйвера для Chrome из официальной страницы. Обратите внимание, что версия драйвера должна соответствовать версии вашего браузера. Версию Chrome можно узнать открыв chrome://settings/help

Для Chrome 76 нужно использовать такую же версию драйвера.

На данный момент самая свежая - это ChromeDriver 76.0.3809.68:

Далее распакуйте полученный архив и переместите драйвер в папку /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:

tar -xvzf geckodriver_linux64.tar.gz
sudo mv geckodriver /usr/local/bin/geckodriver
sudo chown root:root /usr/local/bin/geckodriver
sudo chmod +x /usr/local/bin/geckodriver

Далее можно переходить к установке Selenium в Linux.

3. Установка Selenium

Платформа selenium представляет из себя обычную java программу, которую можно скачать на официальном сайте.

На момент написания статьи самая последняя версия программы 3.141.59:

Далее загруженную программу можно запустить с помощью java машины и можно начинать тесты:

java -jar selenium-server-standalone-3.141.59.jar

Если вы хотите запускать программу на сервере, где не установлена графическая оболочка, то вам понадобится пакет xvfb, в котором реализован виртуальный фреймбуфер в памяти:

sudo apt install xvfb libxi6 libgconf-2-4

xvfb-run java -jar selenium-server-standalone-3.141.59.jar

Если вы не хотите запускать selenium вручную, можно настроить автоматический запуск программы при старте системы. Сначала надо переместить Selenium в какую нибудь системную директорию, например, в /usr/bin/local:

sudo mv selenium-server-standalone-3.141.59.jar /usr/local/bin/

Создайте нового пользователя, от имени которого будет работать Selenium:

sudo useradd -d /tmp/ selenium

4. Настройка Selenium и systemd в графике

Далее надо разрешить этому пользователю подключаться к дисплейному серверу:

И в автозагрузку:

Теперь напишем такой systemd юнит:

sudo vi /etc/systemd/system/selenium.service

[Unit]
Description=Selenium Standalone Server
After=multi-user.target
[Service]
Type=simple
WorkingDirectory=/tmp/
Environment=DISPLAY=:0
ExecStart=/usr/bin/java -jar /usr/local/bin/selenium-server-standalone-3.141.59.jar
WantedBy=multi-user.target
KillMode=process
User=selenium
[Install]
WantedBy=multi-user.target

Теперь выполните такие команды для добавления сервиса в автозагрузку и запуска:

sudo systemctl --system daemon-reload
sudo systemctl enable selenium
sudo systemctl start selenium

5. Настройка Selenium и systemd в xvfb

Если вы захотите запускать Selenium на сервере без графического интерфейса, то вам понадобится виртуальный фреймбуфер xvfb. Для этого сначала установите эту утилиту:

sudo apt install xvfb

Далее создадим файл сервиса для запуска xvfb:

sudo vi /etc/systemd/system/xvfb.service

[Unit]
Description=X virtual framebuffer
[Service]
Type=simple
User=root
ExecStart=/usr/bin/Xvfb :99 -ac
[Install]
WantedBy=multi-user.target

Затем делаем файл сервиса для Selenium:

sudo vi /etc/systemd/system/selenium.service

[Unit]
Description=Selenium Standalone Server
Requires=xvfb.service
After=xvfb.service
[Service]
Type=simple
User=selenium
WorkingDirectory=/tmp/
Environment=DISPLAY=:99
ExecStart=/usr/bin/java -jar /usr/local/bin/selenium-server-standalone-3.141.59.jar
[Install]
WantedBy=multi-user.target

Затем, как и в предыдущем случае, нам остается выполнить несколько команд systemd, чтобы перечитать конфигурационные файлы с диска:

sudo systemctl --system daemon-reload
sudo systemctl start xvfb
sudo systemctl start selenium

6. Настройка Selenium и PHP

За время развития Selenium для него было написано множество библиотек для разных языков. Дальше мы рассмотрим как использовать эту программу вместе с PHP. Благодаря стараниям Facebook это возможно. Только необходимо установить пакет facebook/webdriver с помощью composer:

composer require facebook/webdriver

Далее вы можете использовать эту библиотеку в своих скриптах:

<?php
require ('./vendor/autoload.php');
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Remote\DriverCommand;
use Facebook\WebDriver\WebDriverExpectedCondition;
use Facebook\WebDriver\WebDriverBy;
$host = 'http://localhost:4444/wd/hub';
$desiredCapabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $desiredCapabilities);
$driver->get("https://google.com");

Готово. Теперь осталось выполнить скрипт и если все было сделано правильно, перед вами откроется браузер.

Выводы

В этой статье мы рассмотрели как установить Selenium в Ubuntu 18.04. С установкой программы надо поиграться, но возможности по автоматизации тестированию, которые она предоставляет однозначно того стоят.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

image

Привет, Хабр! Данная задача возникла у меня с проблемой, которая заключалась в создании робота для авторизации в Instagram, который бы делал за меня лайки. Всю задачу не напишу, напишу только часть реализации в виде настройки необходимого инструментария на удаленном сервере.

WEB — тестирование — это объемная и неоднозначная сфера, которая может заключаться в решении задач не только в плане тестирования WEB — приложений, но и, к примеру, в плане построения парсеров, роботов IoT и ботов работы с социальными сетями и все это используя только JavaScript!

Возможно, что вам не нравится словосочетание «тестирование», возможно, отчасти, из-за того, что это словосочетание заключает в себе более интересные вещи, которые, к примеру, позволят нам написать бота, способного авторизироваться в Instagram, Facebook и совершать там ряд действий от нашего лица и в одно и то же время нудно заниматься наблюдением, как выполняется наш фронтенд, но тестирование имеет смысл и уже стандартизировано сообществом W3C и продолжает развиваться.

Описание задачи в двух словах

Какую задачу мы ставим, чтобы решить при помощи тестирования? Всего-то нужно, чтобы какая-то программа открывала браузер и там автоматически кликала ссылки, вбивала тексты и показывала, что получится или возвращала параметр результата, который нам нужен. И все это нужно сделать на Linux — дистрибутиве Ubuntu 16.04, у которого нет GUI, т.е. у нас только консоль и запустить привычный браузер, как на полноценном компьютере не получится.

Что нужно для решения тестирования без GUI?

Все, что нужно для современного, «монопольного» тестирования на JavaScript:

  1. Headless Chromium Browser v 59 (chromium-browser) — безголовый браузер в консоли;
  2. Node.js (nodejs) — сервер JavaScript;
  3. WebDriver (chromedriver) — драйвер для обработки тестов на JavaScript и работы с chromium-browser посредством Node.js;
  4. Nightwatch.js (nightwatch) — известная библиотека для написания и запуска автотестов посредством Node.js от LinkedIn.

Установка на сервер

Напишем шаги для последовательной установки всех компонентов для тестирования.

1). Установка cromium-browser. Перед установкой chromium-browser надо будет установить все необходимые для него зависимости, поэтому надо будет выполнить ряд действий.
Устанавливаем зависимости:


Если у нас были первые попытки установки, но помещали отсутствие зависимостей, то будет хорошо, если удалить загруженные файлы в /var/cache/apt/archives запуском команды:


Теперь устанавливаем сам cromium-browser:

2). Установка nodejs. Как установить Node.js и все методы установки подробно описано тут.

Один из самых простых методов установки:

Есть вероятность, что данным методом установится старая стабильная версия v4.2.6 из репозитория Ubuntu, под которым этот пример тестирования не проверен. Для стабильной работы оптимально, если установить версию 7 или выше методом PPA или NVM

Также потребуется и менеджер пакетов, посредством которого надо будет установить chromedriver и nightwatch :


Они нужны будут нам обработать тесты на JavaScript из Node.js.

3). Установка chromedriver. Этот драйвер выполняет роль WebDriver’а, предоставляющего API, к примеру, чтобы иметь возможность кликать на ссылки и вбивать тексты в текстовые поля и формы, для этого мы и будем использовать Chromedriver. Для установки chromedriver выполняем команду:

4). Установка nightwatch. Nightwatch.js — это библиотека для написания и запуска автотестов на JavaScript:

Схема работы тестирования

Коротко вся схема выглядит таким образом, что тесты на Nightwatch.js отправляют запросы на Chromedriver, а Chromedriver обращается к Chrome Browser для исполнения тестов(заполнение полей форм и нажатие на ссылки):

image

Настройка и запуск первого теста

Конфигурационный файл Nightwatch.js умолчанию находится в папке node_modules/nightwatch/bin и настройки берутся по умолчанию оттуда и для того, чтобы задать наши пользовательские настройки для Nightwatch.js нужно создать файл nightwatch.json в корне проекта и прописать туда всё необходимое, чтобы Chromedriver использовался напрямую (без Selenium и других сторонних вещей) и Chromium запускался в «headless» режиме:


Нужно обратить внимание на строку с globals.js. Внутри этого файла можно задать глобальный контекст для всех тестов. Пропишем туда, чтобы Chromedriver стартовал перед запуском всех тестов и прибивался в конце:


Запускаем через консоль по команде:

Замечание. Во первых, если Node.js установлен через nvm, то надо активировать сессию через команду:


во вторых, для запуска теста необходимо создать в корне проекта package.json с данными проекта, а в виде запускаемого фала надо указать google.js через команду:


Далее уже выполняем команду запуска нашего теста:

Результатом выше изложенного кода в файлах будет результат в консоли:

image

Т.е., мы заходим на главную сайта Google, вбиваем в поиск словосочетание «Блог WebSofter!» и в итоге сравнивается адрес нашего блога на наличие в определенных тегах на странице результата поиска.

Заключение

Первоначально Nightwatch.js был ориентирован на работу с Selenium. Но сегодня она умеет работать с chromedriver напрямую и необходимость в Selenium тем более в PhantomJS отпадает, хотя есть возможность с ними интегрировать.

Осторожно! Безголовый режим Chrome доступен на Mac и Linux в v59. Поддержка Windows входит в Chrome v60. Чтобы проверить, какая версия Chrome у вас есть, откройте

Безголовый Chrome поставляется в версии Chrome 59. Это способ запуска браузера Chrome в безголовой среде, т.е. в консоли без GUI. Подобным образом работал PhantomJS. Chrome привносит в командную строку все современные функции веб-платформы, предоставляемые Chromium и движком Blink.

Почему это полезно?

Безголовый браузер — отличный инструмент для автоматического тестирования и серверных сред, где вам не нужна видимая оболочка пользовательского интерфейса. Например, вы можете выполнить некоторые тесты на реальной веб-странице, создать PDF-файл или просто проверить, как браузер отображает URL-адрес. Дополнительно можно узнать по ссылке

image

Привет, Хабр! Данная задача возникла у меня с проблемой, которая заключалась в создании робота для авторизации в Instagram, который бы делал за меня лайки. Всю задачу не напишу, напишу только часть реализации в виде настройки необходимого инструментария на удаленном сервере.

WEB — тестирование — это объемная и неоднозначная сфера, которая может заключаться в решении задач не только в плане тестирования WEB — приложений, но и, к примеру, в плане построения парсеров, роботов IoT и ботов работы с социальными сетями и все это используя только JavaScript!

Возможно, что вам не нравится словосочетание «тестирование», возможно, отчасти, из-за того, что это словосочетание заключает в себе более интересные вещи, которые, к примеру, позволят нам написать бота, способного авторизироваться в Instagram, Facebook и совершать там ряд действий от нашего лица и в одно и то же время нудно заниматься наблюдением, как выполняется наш фронтенд, но тестирование имеет смысл и уже стандартизировано сообществом W3C и продолжает развиваться.

Описание задачи в двух словах

Какую задачу мы ставим, чтобы решить при помощи тестирования? Всего-то нужно, чтобы какая-то программа открывала браузер и там автоматически кликала ссылки, вбивала тексты и показывала, что получится или возвращала параметр результата, который нам нужен. И все это нужно сделать на Linux — дистрибутиве Ubuntu 16.04, у которого нет GUI, т.е. у нас только консоль и запустить привычный браузер, как на полноценном компьютере не получится.

Что нужно для решения тестирования без GUI?

Все, что нужно для современного, «монопольного» тестирования на JavaScript:

  1. Headless Chromium Browser v 59 (chromium-browser) — безголовый браузер в консоли;
  2. Node.js (nodejs) — сервер JavaScript;
  3. WebDriver (chromedriver) — драйвер для обработки тестов на JavaScript и работы с chromium-browser посредством Node.js;
  4. Nightwatch.js (nightwatch) — известная библиотека для написания и запуска автотестов посредством Node.js от LinkedIn.

Установка на сервер

Напишем шаги для последовательной установки всех компонентов для тестирования.

1). Установка cromium-browser. Перед установкой chromium-browser надо будет установить все необходимые для него зависимости, поэтому надо будет выполнить ряд действий.
Устанавливаем зависимости:


Если у нас были первые попытки установки, но помещали отсутствие зависимостей, то будет хорошо, если удалить загруженные файлы в /var/cache/apt/archives запуском команды:


Теперь устанавливаем сам cromium-browser:

2). Установка nodejs. Как установить Node.js и все методы установки подробно описано тут.

Один из самых простых методов установки:

Есть вероятность, что данным методом установится старая стабильная версия v4.2.6 из репозитория Ubuntu, под которым этот пример тестирования не проверен. Для стабильной работы оптимально, если установить версию 7 или выше методом PPA или NVM

Также потребуется и менеджер пакетов, посредством которого надо будет установить chromedriver и nightwatch :


Они нужны будут нам обработать тесты на JavaScript из Node.js.

3). Установка chromedriver. Этот драйвер выполняет роль WebDriver’а, предоставляющего API, к примеру, чтобы иметь возможность кликать на ссылки и вбивать тексты в текстовые поля и формы, для этого мы и будем использовать Chromedriver. Для установки chromedriver выполняем команду:

4). Установка nightwatch. Nightwatch.js — это библиотека для написания и запуска автотестов на JavaScript:

Схема работы тестирования

Коротко вся схема выглядит таким образом, что тесты на Nightwatch.js отправляют запросы на Chromedriver, а Chromedriver обращается к Chrome Browser для исполнения тестов(заполнение полей форм и нажатие на ссылки):

image

Настройка и запуск первого теста

Конфигурационный файл Nightwatch.js умолчанию находится в папке node_modules/nightwatch/bin и настройки берутся по умолчанию оттуда и для того, чтобы задать наши пользовательские настройки для Nightwatch.js нужно создать файл nightwatch.json в корне проекта и прописать туда всё необходимое, чтобы Chromedriver использовался напрямую (без Selenium и других сторонних вещей) и Chromium запускался в «headless» режиме:


Нужно обратить внимание на строку с globals.js. Внутри этого файла можно задать глобальный контекст для всех тестов. Пропишем туда, чтобы Chromedriver стартовал перед запуском всех тестов и прибивался в конце:


Запускаем через консоль по команде:

Замечание. Во первых, если Node.js установлен через nvm, то надо активировать сессию через команду:


во вторых, для запуска теста необходимо создать в корне проекта package.json с данными проекта, а в виде запускаемого фала надо указать google.js через команду:


Далее уже выполняем команду запуска нашего теста:

Результатом выше изложенного кода в файлах будет результат в консоли:

image

Т.е., мы заходим на главную сайта Google, вбиваем в поиск словосочетание «Блог WebSofter!» и в итоге сравнивается адрес нашего блога на наличие в определенных тегах на странице результата поиска.

Заключение

Первоначально Nightwatch.js был ориентирован на работу с Selenium. Но сегодня она умеет работать с chromedriver напрямую и необходимость в Selenium тем более в PhantomJS отпадает, хотя есть возможность с ними интегрировать.

Осторожно! Безголовый режим Chrome доступен на Mac и Linux в v59. Поддержка Windows входит в Chrome v60. Чтобы проверить, какая версия Chrome у вас есть, откройте

Безголовый Chrome поставляется в версии Chrome 59. Это способ запуска браузера Chrome в безголовой среде, т.е. в консоли без GUI. Подобным образом работал PhantomJS. Chrome привносит в командную строку все современные функции веб-платформы, предоставляемые Chromium и движком Blink.

Почему это полезно?

Безголовый браузер — отличный инструмент для автоматического тестирования и серверных сред, где вам не нужна видимая оболочка пользовательского интерфейса. Например, вы можете выполнить некоторые тесты на реальной веб-странице, создать PDF-файл или просто проверить, как браузер отображает URL-адрес. Дополнительно можно узнать по ссылке

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