Package: webdriverdownloader
Python module to facilitate downloading and deployingWebDriverbinaries.  The classes in this module can be used to automatically search for
and download the latest version (or a specific version) of a WebDriver binary
(will download to$HOME/webdriveror/usr/local/webdriverif run withsudo), extract the binary from the downloaded archive and create a symlink
in either/usr/local/bin(if run withsudo) or$HOME/bin.Note: For non-root users, the$HOME/bindirectory may not be in the search
PATH.  If you are unable to add this directory your search path, a workaround
is to capture the return value from thedownload()ordownload_and_install()method (see the docstrings for those methods for more information on the return
values) and pass the path to the downloaded webdriver binary as a parameter to
the constructor for the Selenium WebDriver instance.  See the documentation for
theexecutable_pathparameter for the relevant WebDriver class for more
information.InstallationThis module is available on the Python Package Index (PyPI) and can be
installed as follows:pip install webdriverdownloaderDependenciesThis module is dependent on the following additional packages:beautifulsoup4requeststqdmClassesThe following classes are available:ChromeDriverDownloaderfor downloading and installingchromedriver(for Google Chrome).GeckoDriverDownloaderfor downloading and installinggeckodriver(for Mozilla Firefox).OperaChromiumDriverDownloaderfor downloading and installingoperadriver(for Chromium based Opera browsers).StatusCurrently being developed/tested using Python 2.7.16 and 3.8.1 on macOS and
Windows 10.Example module usageExample:>>> from webdriverdownloader import GeckoDriverDownloader
>>> gdd = GeckoDriverDownloader()
>>> gdd.download_and_install()
1524kb [00:00, 1631.24kb/s]
('/Users/lsaguisag/webdriver/geckodriver-v0.20.1-macos/geckodriver', '/Users/lsaguisag/bin/geckodriver')
>>> gdd.download_and_install("v0.20.0")
1501kb [00:02, 678.92kb/s]
Symlink /Users/lsaguisag/bin/geckodriver already exists and will be overwritten.
('/Users/lsaguisag/webdriver/geckodriver-v0.20.0-macos/geckodriver', '/Users/lsaguisag/bin/geckodriver')
>>> gdd.download_and_install()
Symlink /Users/lsaguisag/bin/geckodriver already exists and will be overwritten.
('/Users/lsaguisag/webdriver/geckodriver-v0.20.1-macos/geckodriver', '/Users/lsaguisag/bin/geckodriver')
>>>Command line toolThere is a command-line tool that is also available.  After installing the
package, it can be used as follows (Windows example):> webdriverdownloader chrome:2.38 firefox opera:v.2.35
Downloading WebDriver for browser: 'chrome'
3300kb [00:00, 11216.38kb/s]
Driver binary downloaded to: C:\Users\lsaguisag\webdriver\chrome\2.38\2.38%2Fchromedriver_win32\chromedriver.exe
Driver copied to: C:\Users\lsaguisag\bin\chromedriver.exe

Downloading WebDriver for browser: 'firefox'
3031kb [00:01, 2253.64kb/s]
Driver binary downloaded to: C:\Users\lsaguisag\webdriver\gecko\v0.20.1\geckodriver-v0.20.1-win64\geckodriver.exe
Driver copied to: C:\Users\lsaguisag\bin\geckodriver.exe

Downloading WebDriver for browser: 'opera'
3548kb [00:02, 1239.02kb/s]
Driver binary downloaded to: C:\Users\lsaguisag\webdriver\operachromium\v.2.35\operadriver_win64\operadriver_win64\operadriver.exe
Driver copied to: C:\Users\lsaguisag\bin\operadriver.exe

WARNING: Path 'C:\Users\lsaguisag\bin' is not in the PATH environment variable.In the above example, a version was specified for Chrome and Opera while no
version was specified for Firefox so the latest version ofgeckodriverwas
implicitly downloaded.TODOsTest on LinuxLicenseThis is released under an MIT license.  See theLICENSEfile in this
repository for more information.Important: Consult the license terms of the providers of the WebDriver
downloads prior to downloading / using the WebDrivers.