• CentOS-yum安装chrome+chromeDriver+xvfb


    安装chrome

    创建yum源文件

    $ vim /etc/yum.repos.d/google-chrome.repo

    [google-chrome]
    name=google-chrome
    baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
    enabled=1
    gpgcheck=1
    gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

    停用更新-参考官网

    如要阻止 Chrome 浏览器自动更新,请执行下列一项操作:

    • 在安装 Chrome 浏览器之前先创建一个空白存储区:
      $ sudo touch /etc/default/google-chrome
    •  /etc/default/google-chrome 中添加下列一行内容:
      repo_add_once=false

    安装google-chrome

    $ yum -y install google-chrome-stable --nogpgcheck

    chrome安装路径

    使用上述步骤安装完成之后,chrome的安装路径在/opt/google/chrome目录下

    安装chromeDriver

    查看chrome版本

    $ google-chrome -version

    下载对应版本的chromeDriver

    https://npm.taobao.org/mirrors/chromedriver/查询与chrome版本对应的chromeDriver版本,大版本对应即可,如当前chrome最新的版本是78.0.3904.97,只需要查找与78对应的chromeDriver版本即可。

    找到对应的版本后,在linux上使用以下命令下载chromeDriver压缩包:

    $ mkdir /usr/chromedriver

    $ cd /usr/chromedriver

    $ wget https://npm.taobao.org/mirrors/chromedriver/version/chromedriver_linux64.zip

    version即为chromeDriver的完整版本号

    下载之后解压压缩包:(安装命令:yum install unzip -y)

    $ unzip chromedriver_linux64.zip

    给chromeDriver文件夹赋予权限:

    $ chmod +x /usr/chromedriver/chromedriver

    安装Xvfb

    安装说明

    安装此软件的原因是在centos上,chromeDriver必须使用无头模式,当有不使用无头模式的需求时就需要安装此软件,否则chromeDriver无法正确启动chrome

    安装Xvfb

    $ yum install Xvfb -y

    $ yum install libXfont

    $ yum install xorg-x11-fonts* -y

    在/usr/bin/目录下创建xvfb-chrome文件

    vim /usr/bin/xvfb-chrome

    在xvfb-chrome文件中输入以下内容

    #!/bin/bash 

    _kill_procs() { 
    kill -TERM $chrome 
    wait $chrome 
    kill -TERM $xvfb 
    } 

    # Setup a trap to catch SIGTERM and relay it to child processes 
    trap _kill_procs SIGTERM 

    XVFB_WHD=${XVFB_WHD:-1280x720x16} 

    # Start Xvfb 
    Xvfb :99 -ac -screen 0 $XVFB_WHD -nolisten tcp & 
    xvfb=$! 

    export DISPLAY=:99 

    chrome --no-sandbox --disable-gpu$@ & 
    chrome=$! 

    wait $chrome 
    wait $xvfb

    添加执行权限

    $ chmod +x /usr/bin/xvfb-chrome

    查看当前的映射关系

    $ ll /usr/bin/ | grep chrom

    映射关系如下所示:

    lrwxrwxrwx 1 root root 31 Apr 8 17:12 google-chrome -> /etc/alternatives/google-chrome
    lrwxrwxrwx 1 root root 32 Apr 8 17:12 google-chrome-stable -> /opt/google/chrome/google-chrome
    -rwxr-xr-x 1 root root 370 Apr 8 18:12 xvfb-chrome

     

    更改chrome启动的软连接

    $ ln -s /etc/alternatives/google-chrome /usr/bin/chrome

    $ rm -rf /usr/bin/google-chrome

    $ ln -s /usr/bin/xvfb-chrome /usr/bin/google-chrome

    此时再次查看映射关系

    $ ll /usr/bin/ | grep chrom

    如下所示:

    lrwxrwxrwx 1 root root 31 Apr 8 18:13 chrome -> /etc/alternatives/google-chrome
    lrwxrwxrwx 1 root root 20 Apr 8 18:13 google-chrome -> /usr/bin/xvfb-chrome
    lrwxrwxrwx 1 root root 32 Apr 8 17:12 google-chrome-stable -> /opt/google/chrome/google-chrome
    -rwxr-xr-x 1 root root 370 Apr 8 18:12 xvfb-chrome

    注:以上步骤操作完成后即可在centos环境下使用非无头浏览器,此时chromeDriver创建时不能再添加以下参数:

    options.addArguments("--headless")

     
  • 相关阅读:
    opencv-learnopencv-Facial Landmark Detection
    【OpenCV】Learn OpenCV
    leetcode-1-TwoNums
    【c++基础】判断是否到文件末尾-eof函数
    【c++基础】int转string自动补零
    【linux】如何退出shell终端
    【机器学习算法】bagging算法
    【机器学习算法】Boostrapping算法
    【python基础】如何注释代码块
    【机器学习算法】cascade classifier级联分类器
  • 原文地址:https://www.cnblogs.com/zyrs/p/13653165.html
Copyright © 2020-2023  润新知