每次Chrome发布更新时,我都会遇到这个问题。
这是一个场景:
- 所有浏览器都在Chrome 83上
- Chrome宣布Chrome 84即将问世,但尚未发布
- ChromeDriver 84被创建,量角器拉取了ChromeDrive的最新版本,现在是84
- ChromeDriver 84被认为只能在Chrome 84上工作(它甚至还没有发布(
- 我运行网络驱动程序管理器更新来下载ChromeDriver 83,并将Protractor设置为使用ChromeDriver83
ChromeDriver 84不向后兼容是非常令人讨厌的,有人找到这种情况的解决方案吗?
我正在处理同样的问题,这非常令人讨厌。我还没有做这个解决方案,但我认为这个解决方案对你有好处。
https://www.npmjs.com/package/chromedriver
向下滚动到我链接的页面上的Detect ChromeDriver Version
。您可以通过npmrc
或环境变量检测要基于本地Chrome版本安装的ChromeDriver版本。
好吧,到目前为止,如果其他人有这个问题,这是我非常讨厌的解决方案。。。
- 在我的管道中,我运行一个powershell脚本来获取当前安装的chrome版本
- 然后我取铬版本并删除次要版本
- 我达到了ChromeDriver
https://chromedriver.storage.googleapis.com/LATEST_RELEASE_[chrome version, minus minor version]
提供的终点,请参阅本指南:https://chromedriver.chromium.org/downloads/version-selection - 我阅读了这个端点上的内容,它只是一个字符串,告诉您应该使用哪个chrome驱动程序版本
- 我采用了这个版本,并在我的量角器和package.json文件中进行了变量替换,替换了我的网络驱动程序更新调用和量角器chromedriver版本配置
- 我运行网络驱动程序管理器更新--versions.chrome[我刚刚从api调用中收到的chrome版本]
这是有效的,但这确实很烦人,如果其他人有更好的解决方案,我仍然很乐意听到。