美文网首页
[WebDriver]Linux/Docker下安装Chrome

[WebDriver]Linux/Docker下安装Chrome

作者: 测试你个头 | 来源:发表于2019-01-08 18:26 被阅读0次

    这次在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
    

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

    相关文章

      网友评论

          本文标题:[WebDriver]Linux/Docker下安装Chrome

          本文链接:https://www.haomeiwen.com/subject/ttmwcqtx.html