基于阿里源开发的WebDriver管理工具
Project description
WebDriverManagerCn V2
如有新的国内源,欢迎提Issue
开发背景
作者是测开一枚,一直在公司默默无闻的做着自动化测试,偶然公司同事安利 webdriver_manager
这个模块可以有效解决Chrome频繁更新导致ChromeDriver无法使用的问题,可以直接更换国内源,解决默认为GitHub源而导致下载慢或者失败的问题。
自动化项目引入这个模块后,效果很好,稳定性也很好,且一直相安无事。直到2023年中的某一天,这个平静的情况被打破了。。。
ChromeDriver官方团队修改了发布方式,导致国内绝大部分的源都无法正确同步新版的ChromeDriver,作者使用的阿里源,也停留在了114版本上,无法继续更新。已向阿里源开发团队提交Issue后,已将新版ChromeDriver源同步完成,但是,已经无法按照新版源更换源地址实现下载了。
所以,经过作者研究源码,决定重新写一个下载模块,且基于国内源为下载源!
解决问题
本模块可以看作是 webdriver_manager
模块的国内平替,为那些公司无法通过魔法手段连接GitHub(比如作者公司T_T)
,和需要持续更新WebDriver的自动化测试同学们提供服务。
已实现功能
如果有其他 WebDriver 需求请及时提Issue
Client | Windows | MacOS | Linux |
---|---|---|---|
Chrome | ✅ | ✅ | ✅ |
Firefox | ✅ | ✅ | ✅ |
使用方法
安装升级
- 安装命令:
pip install webdrivermanager_cn
- 在线升级:
pip install -U webdrivermanager_cn
导入使用
-
ChromeDriver
- 阿里源
from webdrivermanager_cn import ChromeDriverManagerAliMirror driver_path = ChromeDriverManagerAliMirror().install()
- 华为源
from webdrivermanager_cn import ChromeDriverManagerHuaweiMirror driver_path = ChromeDriverManagerHuaweiMirror().install()
- 手动切换源
from webdrivermanager_cn import ChromeDriverManager driver = ChromeDriverManager() driver.set_ali_mirror() # 切换为阿里源 driver.set_huawei_mirror() # 切换为华为源 driver_path = driver.install()
- 阿里源
-
Geckodriver
- 阿里源
from webdrivermanager_cn import GeckodriverManagerAliMirror driver_path = GeckodriverManagerAliMirror().install()
- 华为源
from webdrivermanager_cn import GeckodriverManagerHuaweiMirror driver_path = GeckodriverManagerHuaweiMirror().install()
- 手动切换源
from webdrivermanager_cn import GeckodriverManager driver = GeckodriverManager() driver.set_ali_mirror() # 切换为阿里源 driver.set_huawei_mirror() # 切换为华为源 driver_path = driver.install()
- 阿里源
全局变量
wdmcn内置了一些全局变量,后续会根据需求继续添加,具体请看config.py
,这里简单列举一下。
-
日志功能
- 日志功能默认关闭,可以通过
os.environ['WDM_LOG'] = 'true'
打开,默认为false - 日志等级,可以通过
os.environ['WDM_LOG_LEVEL'] = f'{logging.INFO}'
修改,默认等级为INFO - 自定义logger,可以通过导入
set_logger()
方法,将您自己的logger添加进来,则日志输出就会使用您的logger记录
- 日志功能默认关闭,可以通过
-
定期清理旧的webdriver
- 如果您使用的wdmcn时间很长以后,webdriver会随着chrome等浏览器版本的迭代越来越多,现在可以默认删除无用的webdriver,可以使用
os.environ['WDM_CACHE_TIME'] = 5
设置,默认会清理5天前的webdriver,以减少磁盘占用。
- 如果您使用的wdmcn时间很长以后,webdriver会随着chrome等浏览器版本的迭代越来越多,现在可以默认删除无用的webdriver,可以使用
声明
本项目基于 Apache-2.0 协议开源,目的仅供提供自动化测试工具使用,请勿用于非法用途。对于任何使用者的行为,本项目及本人不承担任何责任。
本项目中,基于以下付网站提供服务,如有服务相关的问题,本人会积极推进,但是无法保证完全解决,请悉知风险。
其他
如果在使用过程中有任何问题,欢迎提Issue,会在第一时间处理!
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 webdrivermanager_cn-2.1.5-py3-none-any.whl
.
File metadata
- Download URL: webdrivermanager_cn-2.1.5-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc471915b641e46243843970a832b9af1efdd14a96d873594a64b68a7c604b7c |
|
MD5 | e92473edb64898b2d6dd4daedacd5f0a |
|
BLAKE2b-256 | f9403bceb5d721aebda5b4cf1015c61097a853c02f965881b810672fd406f000 |