Docker启动Chrome遇org.openqa.selenium.WebDriverException错误求助
排查与解决方案
核心问题:ChromeDriver与Chrome版本严重不兼容
你安装的ChromeDriver是2.19(仅支持Chrome 45-47版本),但安装的是最新版google-chrome-stable,版本差距过大,这是导致Driver进程提前终止的直接原因。
具体修复步骤
匹配ChromeDriver与Chrome版本
替换Dockerfile中原有的ChromeDriver安装代码,自动获取与当前Chrome匹配的Driver版本:# 替换原ChromeDriver安装部分 ENV CHROMEDRIVER_DIR /chromedriver RUN mkdir $CHROMEDRIVER_DIR # 获取Chrome主版本,下载对应ChromeDriver RUN CHROME_MAJOR_VERSION=$(google-chrome-stable --version | grep -oP '\d+' | head -n1) \ && CHROMEDRIVER_VERSION=$(curl -s "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_MAJOR_VERSION}") \ && wget -q --continue -P $CHROMEDRIVER_DIR "http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip" \ && unzip $CHROMEDRIVER_DIR/chromedriver* -d $CHROMEDRIVER_DIR \ && chmod +x $CHROMEDRIVER_DIR/chromedriver ENV PATH $CHROMEDRIVER_DIR:$PATH添加Chrome无头运行参数
Docker环境无图形界面,必须以无头模式启动Chrome,在JMeter的ChromeDriver配置中添加以下启动参数:--headless=new--no-sandbox--disable-dev-shm-usage--disable-gpu
这些参数可避免权限、资源不足或图形依赖缺失导致的崩溃。
补充Chrome依赖库
新版Chrome需要额外系统依赖,在安装Chrome后添加:RUN apt-get install -y libnss3 libgconf-2-4 libxss1 libappindicator1 libindicator7 libasound2 libatk-bridge2.0-0 libgtk-3-0验证组件可用性
在Dockerfile中添加验证步骤,确保Chrome和ChromeDriver能正常运行:# 验证Chrome无头模式 RUN google-chrome-stable --headless=new --no-sandbox --disable-gpu --dump-dom https://google.com > /dev/null 2>&1 # 验证ChromeDriver版本 RUN chromedriver --version
内容的提问来源于stack exchange,提问作者Rahul
相关产品推荐
相关产品推荐

