背景
在跑一个以前的使用chromedriver的selenium程序的时候突然异常,报了如下的错:
1 | Traceback (most recent call last): |
这个报错是说明当前的chromedriver版本不匹配,之前也是一样的代码,怎么突然就不匹配了呢?
检查了下自己的chrome版本,原来是不知道什么时候chrome升级了,到了74版本。
然后去下载了最新版本的chromedriver,问题解决。
chromedriver的版本选择
在下载chromedriver的时候,会发现chromedriver的版本也相当的多,那么到底应该选择呢?
其实在chromedriver的官网有详细的介绍:
- chromedriver使用的版本号跟chrome是一样的。
- 每个版本的chromedriver都有大版本号、小版本号、和构建版本。
- 在大版本前会有Bete版,同步的也会有一个chromedriver
- 在新版本发布的时候,也会发布chromedriver
那么如何正确的选择chromedriver,方法如下:
先看你的Chrome版本:比如我的是74.0.3729.131
然后取版本号的前三位,加到url:
https://chromedriver.storage.googleapis.com/LATEST_RELEASE_
后面,比如我的就是:
https://chromedriver.storage.googleapis.com/LATEST_RELEASE_74.0.3729
访问这个网址,就会获得我们chrome对应的chromedriver的版本号:
访问
https://chromedriver.storage.googleapis.com/index.html
网址找到对应的版本的chromedriver即可。也可以直接通过获取的版本号来构建url:https://chromedriver.storage.googleapis.com/index.html?path=74.0.3729.6/
修改上面url的最后版本号数字即可。
更多信息可参考官网说明:
http://chromedriver.chromium.org/downloads/version-selection
扩展
有时候直接chromedriver的网址会被墙导致无法访问,这是可以访问国内的淘宝镜像:
https://npm.taobao.org/mirrors/chromedriver/