[WebDriver]Linux/Docker下安装Chrome浏览器和ChromeDriver

这次在linux上安装chrome和chromedriver,在6.2版本下安装各种报错,升级到7.2之后换新的一批报错,最后降低了chrome浏览器的版本后才安装成功。

失败的尝试(看看就行了):

升级linux版本到7.2

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
[WebDriver]Linux/Docker下安装Chrome浏览器和ChromeDriver_第1张图片

二、安装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
[WebDriver]Linux/Docker下安装Chrome浏览器和ChromeDriver_第2张图片
[WebDriver]Linux/Docker下安装Chrome浏览器和ChromeDriver_第3张图片

解决报错:

sudo rm /var/lib/rpm/__db*
sudo rpm --rebuilddb
sudo yum clean all
[WebDriver]Linux/Docker下安装Chrome浏览器和ChromeDriver_第4张图片

再次尝试安装发现报错:


[WebDriver]Linux/Docker下安装Chrome浏览器和ChromeDriver_第5张图片
安装发现报错

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

[WebDriver]Linux/Docker下安装Chrome浏览器和ChromeDriver_第6张图片

报错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

[WebDriver]Linux/Docker下安装Chrome浏览器和ChromeDriver_第7张图片

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,只能手动一个个的解决依赖包的缺失,的确比较麻烦。

你可能感兴趣的:([WebDriver]Linux/Docker下安装Chrome浏览器和ChromeDriver)