我应该使用哪个版本的 ChromeDriver/Selenium?

时间:2021-04-14 15:13:50

标签: python docker selenium selenium-chromedriver

我在 docker 中使用 selenium 并且效果很好,但是今天出了点问题 我的 docker 文件中有此代码用于安装最新版本的 chrome 和 chromedriver:

# install google chrome
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
RUN apt-get -y update
RUN apt-get install -y google-chrome-stable

# install chromedriver
RUN apt-get install -yqq unzip
RUN wget -O /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`/chromedriver_linux64.zip
RUN unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/

今天当我尝试初始化驱动程序时,出现此错误:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 90
Current browser version is 89.0.4389.128 with binary path /usr/bin/google-chrome

我已经遇到过这样的问题,我知道 selenium 和 chromedriver 的兼容性,但我现在找不到解决方案。每个人都说我需要使用两者的最新版本,但这无济于事。也许有人也有这样的问题?

1 个答案:

答案 0 :(得分:0)

现在应该解决这个问题。在 angular/webdriver-manager 存储库中查看此线程:https://github.com/angular/webdriver-manager/issues/491

TL;博士

有一个端点可以说明哪个版本的 chromedriver 是最新的 (https://chromedriver.storage.googleapis.com/LATEST_RELEASE)。截至 4/13 和 4/14 的大部分时间,这将返回 chromedriver 版本 90.*。根据您提供的代码 - 正在利用此 API。问题是 chrome 从未发布过 90 (see chrome release schedule) 版,因此存在不匹配。管理该 api 的人将其恢复为 89,因此您的设置现在应该可以工作并安装兼容版本的 chromedriver。

相关问题