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

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

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

升级linux版本到7.2

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


4383604-3d37caa57dfee67d.png

4383604-50528121ee07b5fe.png

2.升级版本7.2后:


4383604-5fc205b00df28c6d.png

在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
4383604-228deec9693ab06c.png
4383604-91f872a68230d990.png

二、安装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
4383604-dc4a9ebdf5ce89e2.png
4383604-33356d9e39f8c59c.png

解决报错:

sudo rm /var/lib/rpm/__db*
sudo rpm --rebuilddb
sudo yum clean all
4383604-176796436fb0d7c0.png

再次尝试安装发现报错:


4383604-04c0f71192e818c8.png
安装发现报错

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

4383604-3f5442533cd43305.png

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

检查chrome已经安装成功


4383604-d3a9c8142857f397.png

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

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

4383604-c0b4eff117ec5096.png
linux6.2版本

4383604-faf6a78cc453aa2e.png
linux7.2版本

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

4383604-8ec95c61f1cfec26.png
image.png

成功的尝试

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

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

4383604-504569c874d74e42.png

3.检查chrome版本: google-chrome-stable -version
4383604-56cee574f4f59967.png

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

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

4383604-633996607c21b645.png

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

猜你喜欢

转载自blog.csdn.net/weixin_34248705/article/details/87337457
今日推荐