Selenium Manager 配置指向Artifactory获取ChromeDriver的方法咨询
我目前正尝试配置Selenium Manager,让它指向Artifactory来获取我们的ChromeDriver。想知道有没有人成功实现过,具体是怎么做的?我知道需要设置环境变量,但我的问题更多在于,你是把Selenium Manager指向Artifactory的哪个地址?我试过直接指向包文件,也试过各种URL,但都没成功。谢谢。
我之前刚好完成过类似的配置,分享下实操步骤,应该能帮你解决问题:
先对齐Artifactory的仓库结构
Selenium Manager默认是按照官方ChromeDriver的存储逻辑来找文件的——也就是「版本号/对应系统架构的压缩包」层级,比如118.0.5993.70/chromedriver_linux64.zip、118.0.5993.70/chromedriver_win32.zip。所以你得先在Artifactory里搭建好完全一致的目录结构,上传的驱动文件名也要和官方完全相同,Selenium Manager会严格匹配这些细节,差一点都可能找不到文件。设置核心环境变量
针对ChromeDriver的自定义下载地址,Selenium Manager是通过SE_CDM_URL这个环境变量来指定的。你不需要指向单个包文件,而是要指向Artifactory中ChromeDriver仓库的根目录URL。举个例子,如果你的Artifactory仓库地址是https://your-artifactory-domain/artifactory/your-chromedriver-repo,直接把SE_CDM_URL设为这个地址就行。Selenium Manager会自动根据当前系统、Chrome版本,在这个URL后面拼接对应的版本路径和文件名去拉取驱动。处理Artifactory的权限验证(如果需要)
如果你的Artifactory仓库需要登录,别忘了设置对应的认证环境变量:SE_CDM_USERNAME: 你的Artifactory账号用户名SE_CDM_PASSWORD: 你的Artifactory密码或者API密钥
验证配置是否生效
设置好环境变量后,运行一段简单的Selenium代码测试:from selenium import webdriver # Selenium 4.6+ 版本会自动调用Selenium Manager driver = webdriver.Chrome() driver.get("https://www.example.com") driver.quit()查看运行日志,如果看到类似
Using chromedriver from https://your-artifactory-domain/...的内容,就说明配置成功了。几个避坑小提示
- 必须使用Selenium 4.6及以上版本,这是Selenium Manager正式集成到Selenium的起始版本,老版本不支持这个功能。
- 不要随意修改驱动文件名,必须和官方保持一致,否则Selenium Manager会识别不到。
备注:内容来源于stack exchange,提问作者THFC-Dude-14

