Почему Selenium не может работать с браузером Vivaldi?

Я пытаюсь запустить браузер Vivaldi с помощью Selenium и использую следующий код: 

```python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

chrome_driver_path = Service(r'C:\Users\Admin\Documents\chromedriver-win64\chromedriver.exe')
browserBIN = r'C:\Users\Admin\AppData\Local\Vivaldi\Application\vivaldi.exe'

options = webdriver.ChromeOptions()
options.binary_location = browserBIN

driver = webdriver.Chrome(options, chrome_driver_path)

driver.get("https://en.wikipedia.org/")
```

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

```
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 128
Current browser version is 6.9.3447.44 with binary path C:\Users\Admin\AppData\Local\Vivaldi\Application\vivaldi.exe
```

При этом известно, что Vivaldi использует последнюю версию Chromium и скрывает свою версию под ней. Как мне решить эту проблему?
  • 14 сентября 2024 г. 13:03
Ответы на вопрос 1
Проблема, с которой вы сталкиваетесь, связана с несовместимостью между версией ChromeDriver и версией браузера Vivaldi. ChromeDriver поддерживает только определенные версии Chrome, и, хотя Vivaldi основан на Chromium, он может не полностью соответствовать версиям, поддерживаемым ChromeDriver.

Для решения проблемы вы можете попробовать следующие шаги:

### 1. Убедитесь, что версии совпадают

- Убедитесь, что версия ChromeDriver соответствует версии Vivaldi (на базе Chromium). Для этого выполните следующие действия:
  1. Запустите Vivaldi.
  2. Перейдите к меню "Помощь" > "О браузере Vivaldi", чтобы узнать текущую версию браузера.
  3. Скачайте совместимый ChromeDriver с [официального сайта ChromeDriver](https://sites.google.com/chromium.org/driver/) для версии Chromium, соответствующей версии вашего Vivaldi.

### 2. Скачайте правильный драйвер

- Если на сайте ChromeDriver нет драйвера для вашей версии Vivaldi (как это иногда бывает), вы можете попробовать скачать версию, которая соответствует предыдущей мажорной версии Chrome (например, если у вас Vivaldi 6, попробуйте найти соответствующий драйвер для Chrome 115 или 116, если он доступен).

### 3. Используйте другой способ

Если вы не можете найти совместимую версию ChromeDriver или проблема сохраняется, вы можете рассмотреть следующие варианты:

- **Использование Chrome**: Если вам не обязательно использовать Vivaldi, и ваши тесты могут быть выполнены в Chrome, это может быть самым простым решением.
  
- **WebDriver для Vivaldi**: Обратите внимание на то, что некоторые разработчики создают альтернативные драйверы для Vivaldi, которые могут лучше поддерживать используемую версию браузера.

### 4. Обновление Vivaldi

- Проверьте, не доступно ли обновление для браузера Vivaldi, так как обновление может привести к добавлению совместимой версии с последними стабильными версиями ChromeDriver.

### Заключение

Если после всех вышеуказанных шагов проблема сохраняется, пожалуйста, проверьте документацию Vivaldi и ChromeDriver, а также сообщество разработчиков, так как они могут иметь специфичные советы для работы с Vivaldi и Selenium.
Похожие вопросы