All Projects → rasjani → webdrivermanager

rasjani / webdrivermanager

Licence: MIT license
Python module to facilitate downloading and deploying WebDriver binaries for Chrome, Firefox, Opera & Edge

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to webdrivermanager

Pharmacy-Mangment-System
👨‍💻 🏥 MEAN stack Pharmacy Management system.
Stars: ✭ 229 (+143.62%)
Mutual labels:  hacktoberfest2020
hacktoberfest-2020
Get your articles published on workat.tech and get goodies from DigitalOcean as part of Hacktoberfest 2020. The best articles on each of the topics get published if they meet the editorial criteria.
Stars: ✭ 12 (-87.23%)
Mutual labels:  hacktoberfest2020
WinDev-Utility
A utility for windows developers
Stars: ✭ 17 (-81.91%)
Mutual labels:  hacktoberfest2020
COVID-19-Resources
Resources for Covid-19
Stars: ✭ 25 (-73.4%)
Mutual labels:  hacktoberfest2020
resources api
Flask API for programming and cyber security learning resources
Stars: ✭ 63 (-32.98%)
Mutual labels:  hacktoberfest2020
Hactoberfest-2021
Make your first PR! ~ A beginner friendly repository made specifically for open source beginners. Add your profile, a blog or any program under any language (it can be anything from a hello-world program to a complex data structure algorithm) or update the existing one. Just make sure to add the file under the correct directory. Happy hacking!
Stars: ✭ 134 (+42.55%)
Mutual labels:  hacktoberfest2020
Data-Structures-and-algorithms
This repository would be a documentation of my journey towards learning Data structures and algorithms. Please ⭐ this repo if you liked the effort 😄
Stars: ✭ 22 (-76.6%)
Mutual labels:  hacktoberfest2020
stashbox
Your personal Internet Archive
Stars: ✭ 42 (-55.32%)
Mutual labels:  hacktoberfest2020
RiddlesWorld
Hacktoberfest | Mobile app for riddles 😜
Stars: ✭ 13 (-86.17%)
Mutual labels:  hacktoberfest2020
leviosajs
This CLI helps you create react applications and components faster!
Stars: ✭ 26 (-72.34%)
Mutual labels:  hacktoberfest2020
ADLES
Automated Deployment of Lab Environments System (ADLES)
Stars: ✭ 28 (-70.21%)
Mutual labels:  hacktoberfest2020
HBD
🎂 Coder's way of wishing Happy Birthday! 🍰 🎊 🎉 🎈
Stars: ✭ 109 (+15.96%)
Mutual labels:  hacktoberfest2020
Android-PDF
Create PDF in Android using iText
Stars: ✭ 53 (-43.62%)
Mutual labels:  hacktoberfest2020
MySQL-cheatsheet
Cheatsheet for MySQL
Stars: ✭ 43 (-54.26%)
Mutual labels:  hacktoberfest2020
open source start
Go through the readme... fork ....add....send a pull request .... get yourself in the contribution list...Plant the tree
Stars: ✭ 10 (-89.36%)
Mutual labels:  hacktoberfest2020
foss-events
A simple website with a collection of open-source events happening across the globe. This is a beginner-friendly repository that helps you learn git and contribute to web projects. Happy Hacktober!
Stars: ✭ 123 (+30.85%)
Mutual labels:  hacktoberfest2020
hacktoberfest-flutter
An app to find repositories on Github and to view the various contributors to said repos.
Stars: ✭ 25 (-73.4%)
Mutual labels:  hacktoberfest2020
api
✏️ Free open source Application Programming Interface API for OhMyForm ⛺
Stars: ✭ 50 (-46.81%)
Mutual labels:  hacktoberfest2020
emojidiv
Draw emojis with a single div.
Stars: ✭ 25 (-73.4%)
Mutual labels:  hacktoberfest2020
Online-Movie-Ticket-Booking-Script-Free
Open source Online Movie Ticket Booking Script (Theatre booking system) is a website to provide the customers facility to book tickets for a movie online and to gather information about the movies and theaters.
Stars: ✭ 35 (-62.77%)
Mutual labels:  hacktoberfest2020

webdrivermanager

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 and then extract it and place it by copying or symlinking it to the location where Selenium or other tools should be able to find it then.

Installation

This module is available on the Python Package Index (PyPI) and can be installed as follows:

pip install webdrivermanager

Dependencies

This module is dependent on the following additional packages:

Classes

The following classes are available:

  • ChromeDriverManager for downloading and installing chromedriver (for Google Chrome).
  • GeckoDriverManager for downloading and installing geckodriver (for Mozilla Firefox).
  • EdgeDriverManager for downloading and installing edgedriver (for Microsoft Edge).
  • EdgeChromiumDriverManager for downloading and installing Edge Chromium based webdrivers
  • IeDriverManager for downloading and installing Internet Explorer based webdrivers

Status

Currently being developed/tested using Python 2.7.15 and 3.7 on macOS, Windows & Linux

Example module usage

Example:

>>> from webdrivermanager import GeckoDriverManager
>>> gdd = GeckoDriverManager()
>>> gdd.download_and_install()
1524kb [00:00, 1631.24kb/s]
('/Users/rasjani/webdriver/geckodriver-v0.20.1-macos/geckodriver', '/Users/rasjani/bin/geckodriver')
>>> gdd.download_and_install("v0.20.0")
1501kb [00:02, 678.92kb/s]
Symlink /Users/rasjani/bin/geckodriver already exists and will be overwritten.
('/Users/rasjani/webdriver/geckodriver-v0.20.0-macos/geckodriver', '/Users/rasjani/bin/geckodriver')
>>> gdd.download_and_install()
Symlink /Users/rasjani/bin/geckodriver already exists and will be overwritten.
('/Users/rasjani/webdriver/geckodriver-v0.20.1-macos/geckodriver', '/Users/rasjani/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):

> webdrivermanager chrome:2.38 firefox
Downloading WebDriver for browser: 'chrome'
3300kb [00:00, 11216.38kb/s]
Driver binary downloaded to: C:\Users\rasjani\webdriver\chrome\2.38\2.38%2Fchromedriver_win32\chromedriver.exe
Driver copied to: C:\Users\rasjani\bin\chromedriver.exe

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

WARNING: Path 'C:\Users\rasjani\bin' is not in the PATH environment variable.

In the above example, a version was specified for Chrome while no version was specified for Firefox so the latest version of geckodriver was implicitly downloaded.

Command line options

usage: webdrivermanager [-h] [--downloadpath F] [--linkpath F] [--os OSNAME]
browser [browser ...]

Tool for downloading and installing WebDriver binaries.

positional arguments:
browser Browser to download the corresponding WebDriver
binary. Valid values are: chrome, firefox, gecko, mozilla, edge. Optionally specify a version number of the WebDriver binary as follows: 'browser:version' e.g. 'chrome:2.39'. If no version number is specified, the latest available version of the WebDriver binary will be downloaded.
optional arguments:
-h, --help show this help message and exit
--downloadpath F, -d F
 Where to download the webdriver binaries
--linkpath F, -l F
 Where to link the webdriver binary to. Set to "AUTO" if you need some intelligence to decice where to place the final webdriver binary
--linkpath F, -l F
 Where to link the webdriver binary to. Set to "AUTO" if you need some intelligense to decide where to place the final webdriver binary. If set to "SKIP", no link/copy done
--os OSNAME, -o OSNAME
 Overrides os detection with given os name

Do note that --downloadpath/-d flag location is used for storing the whole downloaded and then --linkpath/-l path location is where the final binary is either symlinled or copied to. Linkpath should be the directory you either already have in PATH or you should place there since tools using these webdrivers usually locate the appropriate webdriver binary from PATH environment variable.

If linkpath flag is set to AUTO, tool will iterate over your current PATH environment variable and tries to find the first writeable directory within it and place the copy or symlink into it. If linkpath is set to SKIP, only download is done, linking/copying is skipped.

License

This is released under an MIT license. See the LICENSE file in this repository for more information.

Consult the license terms of the providers of the WebDriver downloads prior to downloading / using the WebDrivers.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].