Чтобы установить Selenium WebDriver на Ubuntu для использования под обычным пользователем (не root), вам нужно выполнить несколько шагов. Ниже приведена пошаговая инструкция:
1. **Установка виртуального окружения (опционально)**
Чтобы избежать конфликтов с системными пакетами Python и запускать Selenium в изолированной среде, вы можете использовать виртуальное окружение.
Для создания виртуального окружения и его активации выполните:
```sh
python3 -m venv myenv
source myenv/bin/activate
```
Вместо `myenv` вы можете использовать любое другое имя для вашего виртуального окружения.
2. **Установка Selenium**
Установите Selenium в текущем окружении (виртуальном или системном):
```sh
pip install selenium
```
3. **Скачивание WebDriver**
Скачайте WebDriver для вашего браузера (например, ChromeDriver для Google Chrome, GeckoDriver для Firefox и т.д.).
Если используете Google Chrome, вы можете скачать ChromeDriver с официального сайта:
```sh
wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
```
После распаковки, перенесите `chromedriver` в директорию из `PATH`:
```sh
sudo mv chromedriver /usr/local/bin/
```
Помните, что версия ChromeDriver должна соответствовать версии вашего браузера Google Chrome.
4. **Настройка прав для запуска WebDriver**
Убедитесь, что у вас есть права на выполнение ChromeDriver:
```sh
sudo chmod +x /usr/local/bin/chromedriver
```
5. **Исправление ошибки "session not created: Chrome failed to start"**
Эта ошибка может возникнуть по разным причинам, включая недостаточные права доступа или проблемы с профилями пользователя. Вот несколько шагов для её устранения:
- Проверьте права доступа к директории, где Chrome хранит пользовательский профиль (обычно `~/.config/google-chrome` или `~/.config/chromium`). Пользователь должен иметь права на чтение и запись в эту директорию.
- Проблемы могут быть связаны также с графическим окружением. Selenium WebDriver требует X Window System для работы с браузером, если не используется headless режим. Вам могут помочь такие инструменты, как `xvfb` (виртуальный буфер кадров X):
```sh
sudo apt install xvfb
```
Запустите тесты используя `xvfb-run` для эмуляции графического окружения:
```sh
xvfb-run python your_selenium_script.py
```
- Также стоит проверить, чтобы версия ChromeDriver соответствовала версии установленного браузера Google Chrome.
- Проверьте, что исполняемый файл браузера Chrome имеет права на запуск.
6. **Дополнительные параметры для ChromeOptions**
В вашем коде Selenium вы можете добавить дополнительные параметры для Chrome, чтобы избежать некоторых общих ошибок:
```python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--no-sandbox") # Отключение песочницы
options.add_argument("--disable-dev-shm-usage") # Отключение использования /dev/sh