Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leonidessaguisagjr/webdriverdownloader
Python module to facilitate downloading and deploying WebDriver binaries. Currently supporting geckodriver, chromedriver and operachromiumdriver.
https://github.com/leonidessaguisagjr/webdriverdownloader
chromedriver-binary downloader geckodriver-binary python python-library python3 python3-library selenium-webdriver
Last synced: 2 months ago
JSON representation
Python module to facilitate downloading and deploying WebDriver binaries. Currently supporting geckodriver, chromedriver and operachromiumdriver.
- Host: GitHub
- URL: https://github.com/leonidessaguisagjr/webdriverdownloader
- Owner: leonidessaguisagjr
- License: mit
- Created: 2018-05-30T08:00:53.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-01-31T09:26:00.000Z (11 months ago)
- Last Synced: 2024-09-29T02:05:57.194Z (3 months ago)
- Topics: chromedriver-binary, downloader, geckodriver-binary, python, python-library, python3, python3-library, selenium-webdriver
- Language: Python
- Homepage: https://pypi.org/project/webdriverdownloader/
- Size: 26.4 KB
- Stars: 20
- Watchers: 3
- Forks: 17
- Open Issues: 7
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
``webdriverdownloader``
=======================Python module to facilitate downloading and deploying `WebDriver `_
binaries. 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/webdriver`` or ``/usr/local/webdriver`` if run with
``sudo``), extract the binary from the downloaded archive and create a symlink
in either ``/usr/local/bin`` (if run with ``sudo``) or ``$HOME/bin``.Note: For non-root users, the ``$HOME/bin`` directory 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 the ``download()`` or ``download_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
the ``executable_path`` parameter for the relevant WebDriver class for more
information.Installation
------------This module is available on the Python Package Index (PyPI) and can be
installed as follows:``pip install webdriverdownloader``
Dependencies
------------This module is dependent on the following additional packages:
- `beautifulsoup4 `_
- `requests `_
- `tqdm `_Classes
-------The following classes are available:
- ``ChromeDriverDownloader`` for downloading and installing `chromedriver `_ (for Google Chrome).
- ``GeckoDriverDownloader`` for downloading and installing `geckodriver `_ (for Mozilla Firefox).
- ``OperaChromiumDriverDownloader`` for downloading and installing `operadriver `_ (for Chromium based Opera browsers).Status
------Currently being developed/tested using Python 2.7.16 and 3.8.1 on macOS and
Windows 10.Example module usage
--------------------Example::
>>> 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 tool
-----------------There 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.exeDownloading 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.exeDownloading 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.exeWARNING: 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 of ``geckodriver`` was
implicitly downloaded.TODOs
------ Test on Linux
License
-------This is released under an MIT license. See the ``LICENSE`` file in this
repository for more information.Important: Consult the license terms of the providers of the WebDriver
downloads prior to downloading / using the WebDrivers.