Linux—Docker下安装Chrome浏览器和ChromeDriver

 

1.首先检查linux的os版本:

 

 

2.升级版本7.2后:

 

在6.2版本安装2.44版本的chromedriver和最新71版本(google-chrome-stable-71.0.3578.80-1.x86_64)的chrome浏览器会报错,比如报GLIBC 2.14和2.16版本找不到

一、安装chromedriver

下载chromedriver包(版本2.44)并安装

wget http://npm.taobao.org/mirrors/chromedriver/2.44/chromedriver_linux64.zip
unzip -d /usr/bin chromedriver_linux64.zip

二、安装chrome

安装chrome,直接下载最新的chrome版本(71):

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo yum install google-chrome-stable_current_x86_64.rpm

解决报错:

sudo rm /var/lib/rpm/__db*
sudo rpm --rebuilddb
sudo yum clean all

再次尝试安装发现报错:

 

安装发现报错

报错主要是因为大量的依赖库缺失,换rpm安装试试(增加--force --nodeps选项跳过依赖项):sudo rpm -ivh google-chrome-stable_current_x86_64.rpm --force --nodeps

 

报错Error: Could not find xdg-icon-resource暂不用管

检查chrome已经安装成功

 

三、检查chrome和chromedriver是否能够使用

检查chromedriver,linux在6.2和7.2版本下都会报错,都是依赖包缺失:chromedriver -v

linux6.2版本

 

linux7.2版本

 

启动chrome,报错缺依赖包:google-chrome-stable --headless --disable-gpu --screenshot https://www.baidu.com

image.png

 

成功的尝试

四、降低chrome的版本,直接安装成功

1.从https://www.chrome64bit.com/下载历史版本的chrome(最终下载了63版本)
2.直接安装:yum install google-chrome-stable_current_x86_64.rpm


3.检查chrome版本:google-chrome-stable -version


4.启动chrome成功:google-chrome-stable --headless --disable-gpu --screenshot https://www.baidu.com


5.下载对应版本的chromedriver并安装

 

wget http://npm.taobao.org/mirrors/chromedriver/2.36/chromedriver_linux64.zip
unzip -d /usr/bin chromedriver_linux64.zip

6.检查chromedriver:chromedriver -v

 

五、docker配置

在镜像的dockerfile中添加:

# 安装chrome
RUN wget --no-cache http://xxxx/google-chrome-stable_current_x86_64.rpm && \
yum localinstall -y google-chrome-stable_current_x86_64.rpm

# 安装chromedriver
RUN wget http://npm.taobao.org/mirrors/chromedriver/2.36/chromedriver_linux64.zip && \
unzip -d /usr/bin chromedriver_linux64.zip

# 安装chrome需要的字体(否则中文无法显示)
RUN wget http://xxxx/msyh.ttf -O /home/admin/msyh.ttf && \
yum install -y freetype freetype-devel fontconfig fontconfig-devel && \
mkdir -p /usr/share/fonts/chinese/TrueType/ && \
cp /home/admin/msyh.ttf /usr/share/fonts/chinese/TrueType/ && \
fc-cache -fv

总结下:
1.在linux中安装chrome和chromedriver,如果出现因依赖包缺失导致的报错,建议降低chrome的版本。
2.如果坚持使用最新版本的chrome,只能手动一个个的解决依赖包的缺失,的确比较麻烦。

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐