使用webdriver-manager自动下载浏览器驱动(python)


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

文章目录

01 简介
02 安装webdriver_manager
03 ChromeDriver
3.1 Selenium 3 用法
3.2 Selenium 4 用法
04 EdgeChromiumDriver
4.1 Selenium 3 用法
4.2 Selenium 4 用法
05 GeckoDriver
5.1 Selenium 3 用法
5.2 Selenium 4 用法
06 IEDriver
6.1 Selenium 3 用法
6.2 Selenium 4 用法
07 OperaDriver
7.1 Selenium 3 用法
7.2 Selenium 4 用法

01 简介


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

你可能感兴趣的:(自动化测试,Web自动化,Python,python,开发语言)