Chrome driver for Selenium in Mac


Selenium (E2E testing tool) uses ChromeDriver (exe that implements a WebDriver interface) to control Chrome.
Selenium expects chromedriver to be available in the path (eg. /usr/local/bin). It expects the Chrome browser to be available in (/Applications). The version of chromedriver and Chrome browser should match.
There are many methods to install chromedriver and Chrome. But here is one that I learnt today.
Assume that Chrome is in version 128, we want to install chromedriver v128. It can be done using puppeteer!
npx @puppeteer/browsers install chromedriver@128
It installs the Chrome driver in the current directory. Search the downloaded folder for chromedriver (pick the executable file, not the folder).
sudo mv chromedriver /usr/local/bin
You should be able to check the version of chromedriver using chromedriver —version
The mismatch happens when you do installation of selenium several months back and use a recent version of Chrome. Another way to resolve this problem is to delete node_modules and reinstall everything. In addition, there is a selenium cache at ~/.cache/selenium
that can be removed to fix the problem.
Happy tinkering!
Subscribe to my newsletter
Read articles from Vijay Thirugnanam directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Vijay Thirugnanam
Vijay Thirugnanam
Engineer working in Cerebras. Latest work is Cerebras Inference. I love writing code in React, TypeScript, C++, Python. I spend most of my work hours tinkering with code.