Use webdriver-manager to automatically download browser drivers, so you no longer have to worry about webdriver version issues.

01 Introduction

When we use Seleniumfor Web UIautomated testing, we usually need to download the corresponding browser version separately webdriver, and in the later stage, we must repeatedly select the corresponding version for different operating systems ( mac, windows, linux) or different browser versions webdriver.


In order to solve this problem, webdriver-managerthird-party libraries came into being. It can automatically help you identify the system information and corresponding browser information in the current running environment, and automatically download the corresponding ones webdriver. You no longer have to worry about webdriverversion issues!


webdriver-managerThe library provides a way to automatically manage different browser drivers. The main idea is to simplify the management of binary drivers for different browsers.


webdriver-managerSupported Selenium 3as well Selenium 4. In the future, I will focus on each Selenium 3and Selenium 4teach you how to use it webdriver-manager.


webdriver-managerCurrently the following browser drivers are supported:

  • ChromeDriver
  • EdgeChromiumDriver
  • GeckoDriver
  • IEDriver
  • OperaDriver

02 Install webdriver_manager

Official address: https://pypi.org/project/webdriver-manager/

We can install it using the following command:pip install webdriver_manager

03 ChromeDriver

3.1 Selenium 3 usage

# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

# selenium 3的写法
driver = webdriver.Chrome(ChromeDriverManager().install())

3.2 Selenium 4 usage

# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService


# selenium 4的写法

driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))

04 EdgeChromiumDriver

4.1 Selenium 3 usage

# selenium 3
from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager

# selenium 3
driver = webdriver.Edge(EdgeChromiumDriverManager().install())

4.2 Selenium 4 usage

# selenium 4
from selenium import webdriver
from selenium.webdriver.edge.service import Service as EdgeService

# selenium 4
driver = webdriver.Edge(service=EdgeService(EdgeChromiumDriverManager().install()))

05 GeckoDriver

5.1 Selenium 3 usage

# selenium 3
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

# selenium 3
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())

5.2 Selenium 4 usage

# selenium 4
from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService

# selenium 4
driver = webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()))

06 IEDriver

6.1 Selenium 3 usage

# selenium 3
from selenium import webdriver
from webdriver_manager.microsoft import IEDriverManager

# selenium 3
driver = webdriver.Ie(IEDriverManager().install())

6.2 Selenium 4 usage

# selenium 4
from selenium import webdriver
from selenium.webdriver.ie.service import Service as IEService

# selenium 4
driver = webdriver.Ie(service=IEService(IEDriverManager().install()))

07 OperaDriver

7.1 Selenium 3 usage

# selenium 3
from selenium import webdriver
from selenium.webdriver.chrome import service
from webdriver_manager.opera import OperaDriverManager

# selenium 3
webdriver_service = service.Service(OperaDriverManager().install())
webdriver_service.start()

driver = webdriver.Remote(webdriver_service.service_url, webdriver.DesiredCapabilities.OPERA)

7.2 Selenium 4 usage

# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome import service
from webdriver_manager.opera import OperaDriverManager

# selenium 4
webdriver_service = service.Service(OperaDriverManager().install())
webdriver_service.start()

options = webdriver.ChromeOptions()
options.add_experimental_option('w3c', True)

driver = webdriver.Remote(webdriver_service.service_url, options=options)

Guess you like

Origin blog.csdn.net/FloraCHY/article/details/132054511