Library provides the way to automatically manage drivers for different browsers
Project description
Webdriver Manager for Python
The main idea is to simplify management of binary drivers for different browsers.
For now support:
-
ChromeDriver
-
GeckoDriver
-
IEDriver
-
OperaDriver
-
EdgeChromiumDriver
Before: You should download binary chromedriver, unzip it somewhere in you PC and set path to this driver like this:
webdriver.Chrome('/home/user/drivers/chromedriver')
ChromeDriverManager(path=custom_path).install()
It’s boring!!! Moreover every time the new version of driver released, you should go and repeat all steps again and again.
With webdriver manager, you just need to do two simple steps:
Install manager:
pip install webdriver_manager
Use with Chrome:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
Use with Chromium:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.utils import ChromeType
driver = webdriver.Chrome(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install())
Use with FireFox:
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
Use with IE
from selenium import webdriver
from webdriver_manager.microsoft import IEDriverManager
driver = webdriver.Ie(IEDriverManager().install())
Use with Edge
from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager
driver = webdriver.Edge(EdgeChromiumDriverManager().install())
Use with Opera
from selenium import webdriver
from webdriver_manager.opera import OperaDriverManager
driver = webdriver.Opera(executable_path=OperaDriverManager().install()
If the Opera browser is installed in a location other than C:/Program Files or C:/Program Files (x86) on windows and /usr/bin/opera for all unix variants and mac, then use the below code,
from selenium import webdriver
from webdriver_manager.opera import OperaDriverManager
options = webdriver.ChromeOptions()
options.add_argument('allow-elevated-browser')
options.binary_location = "C:\\Users\\USERNAME\\FOLDERLOCATION\\Opera\\VERSION\\opera.exe"
driver = webdriver.Opera(executable_path=OperaDriverManager().install(), options=options)
Configuration
If you face error related to github credentials, you need to place github token: (*)
Example:
export GH_TOKEN = "asdasdasdasd"
(*) access_token required to work with Github API more info https://help.github.com/articles/creating-an-access-token-for-command-line-use/.
There is also possibility to set same variables via ENV VARIABLES.
To silent webdriver_manager
logs and remove them from console, initialize env variable WDM_LOG_LEVEL
with '0'
value before your selenium tests:
import os
os.environ['WDM_LOG_LEVEL'] = '0'
or via constructor:
ChromeDriverManager("2.26", log_level=0).install()
This will make your test automation more elegant and robust!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file webdriver_manager-2.5.0-py2.py3-none-any.whl
.
File metadata
- Download URL: webdriver_manager-2.5.0-py2.py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fe63dd682cd85b200cc4ab5c363851f7d4cdb14b0fa33e446758dabc517905c |
|
MD5 | 85900685ce5e9d8500f5ac37fbc31988 |
|
BLAKE2b-256 | 48f555954ecf5e3f9c9b8d00e7e37e091f7c226b4f27345fe9a2eb19d841484b |