使用webdriver-manager自动下载浏览器驱动,再也不用担心webdriver版本问题了

01 简介

在我们使用 Selenium 进行 Web UI 自动化测试时,通常需要自己单独去下载对应各浏览器版本的webdriver,并在后期针对不同操作系统(macwindowslinux)或者不同浏览器版本都要反复选择对应版本webdriver


为了解决这个问题,webdriver-manager 第三方库应运而生,它可以自动帮你识别当前运行环境下系统信息以及对应浏览器信息,并自动下载对应的webdriver,再也不用担心webdriver版本问题了!


webdriver-manager 库提供了自动管理不同浏览器驱动程序的方法。主要思想是简化不同浏览器的二进制驱动程序的管理。


webdriver-manager支持 Selenium 3以及 Selenium 4。后续我会分别针对 Selenium 3以及 Selenium 4教大家怎么使用webdriver-manager


webdriver-manager目前支持如下浏览器驱动:

  • ChromeDriver
  • EdgeChromiumDriver
  • GeckoDriver
  • IEDriver
  • OperaDriver

02 安装webdriver_manager

官方地址:https://pypi.org/project/webdriver-manager/

我们可以使用如下命令安装:pip install webdriver_manager

03 ChromeDriver

3.1 Selenium 3 用法

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

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

3.2 Selenium 4 用法

# 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 用法

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

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

4.2 Selenium 4 用法

# 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 用法

# 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 用法

# 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 用法

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

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

6.2 Selenium 4 用法

# 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 用法

# 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 用法

# 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)

猜你喜欢

转载自blog.csdn.net/FloraCHY/article/details/132054511