Chrome Driver Issue

Hi,

I am seeking a permanent solution for the “Chrome driver update” issue.

Currently, whenever there is a mismatch between the Chrome version and the Chrome driver version, we need to manually download the updated Chrome driver and place it in the required path.

I am wondering if there is a way to avoid this issue, such as turning off Chrome’s auto-update feature or ensuring the same Chrome driver can be used regardless of Chrome updates.

I look forward to your response to help resolve this issue.

Thanks

Hi,

I think you can use webdrivermanager.

A post here contains the links:

I see it has not been updated for a while, but it’s maybe not an issue and still works well.

Usually the need is to ensure compatibility of your application and test with latest browser version. Based on this I would not deactivate automatic updates, unless the app is really specific and supports a defined version.

However, let’s say the latest version is incompatible with app/tests (bug or else) and you need to continue tests runs on previous version, there I would recommend use of isolated environnement (such as Docker for example), where you can manage properly the versions, and update env when latest version is validated.

Regards.
Charlie

Selenium provides and comes with a solution as part of the selenium install. They call this Selenium Manager and one can read the documentation under the Selenium Project’s documentation. Essentially selenium manager will manage both the driver and the browser if desired and do so automatically. It does this when selenium is invoked. One could run a automation script never install driver nor the browser, only Selenium (and SeleniumLibrary), and selenium will handle the drivers and browser for you.

It is my strong preference though to have this setup done prior to test execution. Selenium manager can do this by calling it directly and setting up driver and or browsers.

I’ll note this is the major reason why webdrivermanager has not been updated and we plan on retiring the tools directing people to the built in solution provided by selenium itself.

1 Like

Thanks @EdManlove for your prompt response.

I am still a bit confused about how to set up the things. Let’s say i have a file task.robot and it has simple task to login to a website i.e

Library RPA.Browser.Selenium

Open Available Browser ${Website} maximized=true
Input text when element is visible //input[contains(@id,“USERID”)] ${username}
Input text when element is visible //input[contains(@id,“user_pwd”)] ${password}
Click element when visible //*[contains(@value,“Sign In”)]

How can i done the setup before executing the above task.robot file so that my test always run regardless of chrome version and web driver version.

Noting that the current source code for RPA.Browser.Selenium requires Selenium 4.15.2 which this version has Selenium Manager you technically don’t need to do anything. You should be able to run
robot task.robot and selenium will automatically take care setting up the driver for you.

To do the setup beforehand one can use the command-line interface (cli) of selenium manager. So as part of the build system and within you system configuration steps you could pip install selenium to whichever python environment and then within that python environment run selenium manager. Some examples of how to use the cli are given within those selenium docs.

Essentially one looks at the higher level build steps to setup your build machine and add some to use the cli to update drivers and/or browsers.