How to work with a specific version of ChromeDriver while Chrome Browser gets updated automatically through Python selenium

No, there is no other alternative than updating the ChromeDriver binary versions, while the Chrome Browser keeps on getting updated automatically.


Reason

Each Chrome Browser is released after certain feature additions, modifications and removals from the existing features. To comply with the current set of Browser Features, Chrome Team releases the compatible ChromeDriver binary time to time. These ChromeDriver binaries are capable to interact with the Chrome Browser. Certain version of a ChromeDriver binary supports a specific range of Chrome Browser versions (some of the recent) as below:

  • ChromeDriver v84.0.4147.30 (2020-05-28)

    Supports Chrome version 84
    
  • ChromeDriver v83.0.4103.39 (2020-05-05)

    Supports Chrome version 83
    
  • ChromeDriver v82 was intensionally skipped.

  • ChromeDriver v81.0.4044.138 (2020-05-05)

    Supports Chrome version 81
    
  • ChromeDriver v80.0.3987.106 (2020-02-13)

    Supports Chrome version 80
    
  • ChromeDriver v79.0.3945.36 (2019-11-18)

    Supports Chrome version 79
    
  • ChromeDriver v78.0.3904.70 (2019-10-21)

    Supports Chrome version 78
    
  • ChromeDriver v77.0.3865.40 (2019-08-20)

    Supports Chrome version 77
    
  • ChromeDriver v76.0.3809.126 (2019-08-20)

    Supports Chrome version 76
    
  • ChromeDriver v75.0.3770.8 (2019-04-29)

    Supports Chrome version 75
    
  • ChromeDriver v74.0.3729.6 (2019-03-14)

    Supports Chrome version 74
    
  • ChromeDriver v73.0.3683.68 (2019-03-06)

    Supports Chrome version 73
    
  • ChromeDriver v2.46 (2019-02-01)

    Supports Chrome v71-73
    
  • ChromeDriver v2.45 (2018-12-10)

    Supports Chrome v70-72
    
  • ChromeDriver v2.44 (2018-11-19)

    Supports Chrome v69-71
    
  • ChromeDriver v2.43 (2018-10-16)

    Supports Chrome v69-71
    
  • ChromeDriver v2.42 (2018-09-13)

    Supports Chrome v68-70
    
  • ChromeDriver v2.41 (2018-07-27)

    Supports Chrome v67-69
    
  • ChromeDriver v2.40 (2018-06-07)

    Supports Chrome v66-68
    
  • ChromeDriver v2.39 (2018-05-30)

    Supports Chrome v66-68
    
  • ChromeDriver v2.38 (2018-04-17)

    Supports Chrome v65-67
    
  • ChromeDriver v2.37 (2018-03-16)

    Supports Chrome v64-66
    
  • ChromeDriver v2.36 (2018-03-02)

    Supports Chrome v63-65
    
  • ChromeDriver v2.35 (2018-01-10)

    Supports Chrome v62-64
    
  • ChromeDriver v2.34 (2017-12-10)

    Supports Chrome v61-63
    
  • ChromeDriver v2.33 (2017-10-03)

    Supports Chrome v60-62
    
  • ChromeDriver v2.32 (2017-08-30)

    Supports Chrome v59-61
    
  • ChromeDriver v2.31 (2017-07-21)

    Supports Chrome v58-60
    
  • ChromeDriver v2.30 (2017-06-07)

    Supports Chrome v58-60
    
  • ChromeDriver v2.29 (2017-04-04)

    Supports Chrome v56-58
    

Conclusion

To keep your script/program interactive with the updated Chrome Browser you have to keep the version of ChromeDriver binary in sync with the Chrome Browser as per the compatibility.


For Ubuntu/Linux:

Just use this to update to the latest: https://stackoverflow.com/a/57306360/4240654

version=$(curl -s https://chromedriver.storage.googleapis.com/LATEST_RELEASE)
wget -qP "/tmp/" "https://chromedriver.storage.googleapis.com/${version}/chromedriver_linux64.zip"
sudo unzip -o /tmp/chromedriver_linux64.zip -d /usr/bin

And then this if you need to update Chrome: https://superuser.com/questions/130260/how-to-update-google-chrome-in-ubuntu

sudo apt-get --only-upgrade install google-chrome-stable

i am using this one library that is working for me .

https://pypi.org/project/chromedriver-autoinstaller/

Project description

chromedriver-autoinstaller Automatically download and install chromedriver that supports the currently installed version of chrome. This installer supports Linux, MacOS and Windows operating systems.

Installation

pip install chromedriver-autoinstaller

Example

from selenium import webdriver
import chromedriver_autoinstaller


chromedriver_autoinstaller.install()  # Check if the current version of chromedriver exists
                                      # and if it doesn't exist, download it automatically,
                                      # then add chromedriver to path

driver = webdriver.Chrome()
driver.get("http://www.python.org")
assert "Python" in driver.title