"SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81" : comment résoudre le problème ?

Selenium est un outil permettant d'automatiser le fonctionnement d'un navigateur. On peut écrire un code qui pilote le navigateur et interagit avec les pages automatiquement. Ces fonctionnalités sont très utilisées afin d'automatiser les tests unitaires. On peut ainsi utiliser des frameworks dédiés aux tests unitaires pour tester son application ou son site internet plus rapidement et plus efficacement. Pour communiquer avec le navigateur, Selenium utilise un système de driver. Chaque driver est lié à une famille de navigateur : Firefox, Chromium, Internet Explorer et leurs dérivés. On dispose également de kits dans différents langages pour interagir avec Selenium, dont le langage Python. Le message "SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81" est lié à la gestion du driver installé sur votre système.

Ce message s'affiche car vous utilisez la mauvaise version du ChromeDriver installé. Cette version doit être la même que celle du navigateur installé sur votre ordinateur. Si ce message s'affiche, commencez par regarder la version du navigateur installé. Rendez-vous ensuite sur la page https://sites.google.com/chromium.org/driver/home. Vous pouvez trouver sur cette page toutes les versions des drivers. Téléchargez la même version que celle du navigateur. Si vous utilisez PyCharm, vous devez modifier sa configuration pour indiquer le chemin vers le driver que vous venez de télécharger.

Si vous souhaitez faire plus simple, vous pouvez installer dans votre système la librairie "webdriver_manager". Cette librairie gère automatiquement la version du driver. Il détecte quelle version du navigateur vous utilisez et télécharge la version correspondante dans son cache. Cela permet de ne pas avoir à gérer ce genre de message d'erreur. Utilisez PIP, le gestionnaire de paquets intégré au langage Python pour installer la librairie.

pip install webdriver-manager

Vous devez ensuite importer dans votre code la librairie. Quand vous instanciez le driver, utilisez la méthode "ChromeDriver().install()" pour que la librairie s'occupe seule de gérer le driver.

# Import de selenium et de la librairie "wedriver_manager" pour le navigateur Chromium
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
# Instanciation du driver (la version est gérée directement par la librairie)
driver = webdriver.Chrome(ChromeDriverManager().install())

Python