如何成功运行webdriver-manager update?代理环境下Protractor安装报错求助
解决代理环境下
webdriver-manager update失败的问题 我之前在公司的代理网络环境里也碰到过一模一样的问题!这个错误本质是webdriver-manager没法通过代理访问Selenium的下载服务器,导致DNS解析失败(找不到selenium-release.storage.googleapis.com这个域名)。下面是几个亲测有效的解决办法:
方法1:直接给命令添加代理参数
运行webdriver-manager update时,直接带上代理配置:
# 普通代理 webdriver-manager update --proxy=http://你的代理地址:端口号 # 带用户名密码的代理 webdriver-manager update --proxy=http://用户名:密码@你的代理地址:端口号
如果你的代理是HTTPS类型,或者遇到SSL证书验证错误,可以加上--ignore_ssl参数跳过验证:
webdriver-manager update --proxy=http://你的代理地址:端口号 --ignore_ssl
方法2:配置npm全局代理
因为webdriver-manager是基于npm的工具,它会继承npm的网络配置。你可以先设置npm的代理:
# 设置HTTP代理 npm config set proxy http://你的代理地址:端口号 # 设置HTTPS代理 npm config set https-proxy http://你的代理地址:端口号 # 带认证的代理(用户名密码) npm config set proxy http://用户名:密码@你的代理地址:端口号 npm config set https-proxy http://用户名:密码@你的代理地址:端口号
配置完成后,直接运行webdriver-manager update就会自动使用这个代理了。如果之后不需要代理了,可以清除配置:
npm config delete proxy npm config delete https-proxy
方法3:手动下载驱动文件(终极方案)
如果上面的方法都不生效,你可以手动下载所需的文件,放到webdriver-manager的缓存目录里:
- 找到
webdriver-manager的缓存路径:一般是C:\Users\bertie\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium(对应你错误里的用户目录) - 手动下载以下文件:
- Selenium Server独立包(比如
selenium-server-standalone-xxx.jar,版本可匹配官网最新版) - ChromeDriver(对应你本地Chrome浏览器的版本)
- GeckoDriver(如果需要测试Firefox)
- Selenium Server独立包(比如
- 把下载好的文件放到上述目录里,之后直接运行
webdriver-manager start就可以正常启动了,不需要再执行update命令。
注意事项
- 确认代理地址和端口是正确的,公司代理可能需要找IT部门确认
- 如果代理密码里有特殊字符(比如
@、#),需要做URL编码,比如@换成%40 - 部分公司代理可能需要将
selenium-release.storage.googleapis.com加入白名单,这个也可以咨询IT部门
内容的提问来源于stack exchange,提问作者bier hier
相关产品推荐
相关产品推荐

