Error with Chrome version 115 and newer

Hi there,
I am using Chrome browser Version 117.0.5938.150 and Selenium Version: 4.12.0. but the “Open Browser” keyword has failed with the error,
NoSuchDriverException: Message: Unable to obtain driver for chrome using Selenium Manager. and is failing to launch the browser instance.

is anyone else facing the same issue? or is anyone aware on ETAs on when webdrivermanager issue would be resolved?

Hi Nalk,

I already had the 114 chromedriver on my machine, so I found where webdrivermanager had installed it, saw that it was in a 114 directory, I created a 117 directory in the same location and downloaded the latest chrome driver (117) and copied it to that folder, then manually I unlinked the symolic link for the 114 version and updated the symolic link to the one in the 117 directory.

I’m on Linux, so what you need to do to update manually on your os will vary.

There’s been no update to the webdrivermanager issue linked above to indicate that a fix is even been worked on, though there has been some discussion about work around in that issue, so as far as I know there’s no ETA unfortunately.

Dave.

Hi Everyone,

From the github issue above I found a workaround that works well for me, so I’ll post it here in the hopes it helps someone.

Hopefully in the longer term this auto-update of the drivers will be added into SeleniumLibrary :crossed_fingers:

First I create this resource file:

SeleniumDrivers.robot

*** Settings ***
Documentation		These keywords need the webdriver-manager module
... 							pip install webdriver-manager
... 							https://pypi.org/project/webdriver-manager/

*** Keywords ***
Update Chrome Webdriver
	[Documentation]		Update Chrome Web Driver
	${driverpath}= 	Evaluate 	webdriver_manager.chrome.ChromeDriverManager().install() 	modules=webdriver_manager.chrome
	[Return] 	${driverpath}

Update Firefox Webdriver
	[Documentation]		Update Firefox Web Driver
	${driverpath}= 	Evaluate 	webdriver_manager.firefox.GeckoDriverManager().install() 	modules=webdriver_manager.firefox
	[Return] 	${driverpath}

Then in my robot file I include it and call the keyword for the driver I need in the suite setup like this:

*** Settings ***
Library 	SeleniumLibrary
Resource 	SeleniumDrivers.robot

Suite Setup 	Update Chrome Webdriver

*** Variables ***

This way the driver update check will get called before your tests and Open Browser so hopefully no more failed tests

Hopefully that helps someone,

Dave.