我在docker中使用硒,它运行良好,但今天出现了问题我在我的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
我已经遇到了这样的问题,我知道硒和铬的兼容性,但我现在找不到解决方案。每个人都说我需要使用两者的最新版本,但这无济于事。也许有人也有这样的问题?
现在应该解决这个问题。请参阅angular/webdriver manager repo中的此线程: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版本(请参阅chrome发布时间表(,因此存在不匹配。无论谁管理这个api,都会将其恢复为89,所以您的设置现在应该可以工作并安装兼容版本的chromedriver。