使用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)
 

### Webdriver-Manager 为了实现 Selenium 测试框架中的 WebDriver 自动化管理,可以利用 `webdriver-manager` 这一 Python 库来简化操作流程。通过 pip 工具可以直接完成库的安装: ```bash pip install webdriver-manager ``` 此命令会自动处理依赖关系并安装最新版本的 `webdriver-manager` 到当前环境中[^1]。 #### 配置环境变量 (可选) 通常情况下,在大多数操作系统上无需额外设置环境变量即可正常使用该工具。但如果遇到路径问题,则可能需要手动添加驱动文件夹到系统的 PATH 变量中[^2]。 #### 使用教程 ##### 对于 Chrome 浏览器的支持 下面是一个简单的例子展示如何在代码里集成 ChromeDriver 并启动 Chrome 浏览器实例: ```python from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager # 创建一个新的 Chrome 浏览器对象, 同时指定使用的 chromedriver 路径由 webdriver-manager 提供. driver = webdriver.Chrome(executable_path=ChromeDriverManager().install()) # 执行一些自动化测试逻辑... driver.get('http://www.example.com') # 关闭浏览器窗口 driver.quit() ``` 这段脚本展示了怎样借助 `webdriver-manager` 来获取适合本地机器架构的最佳匹配版 Chromedriver,并将其应用至新的 WebDriver 实例创建过程中。 对于其他受支持的浏览器(如 Edge、Firefox 等),只需要替换相应的导入语句和构造函数参数即可获得对应的功能支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值