zoukankan      html  css  js  c++  java
  • centos7安装chrome+chromeDriver+Xvfb

    安装chrome

    创建yum源

    # cd /etc/yum.repos.d/
    # vim google-chrome.repo
    

    创建yum源信息

    [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
    

    安装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的完整版本号

    下载之后解压压缩包:

    # unzip chromedriver_linux64.zip
    

    给chromeDriver文件夹赋予权限:

    # chmod +x /usr/chromedriver/chromedriver
    

    安装Xvfb

    安装说明

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

    安装Xvfb

    # yum install Xvfb -y
    # 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 Nov 18 14:25 chrome -> /etc/alternatives/google-chrome
    lrwxrwxrwx 1 root root 20 Nov 18 14:25 google-chrome -> /usr/bin/xvfb-chrome
    lrwxrwxrwx 1 root root 32 Jun 28 18:39 google-chrome-stable -> /opt/google/chrome/google-chrome
    -rwxr-xr-x 1 root root 422 Nov 18 14:24 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
    

    此时再次查看映射关系,如下所示:

    lrwxrwxrwx 1 root root 31 Nov 18 14:36 chrome -> /etc/alternatives/google-chrome
    lrwxrwxrwx 1 root root 20 Nov 18 14:36 google-chrome -> /usr/bin/xvfb-chrome
    lrwxrwxrwx 1 root root 32 Jun 28 18:21 google-chrome-stable -> /opt/google/chrome/google-chrome
    -rwxr-xr-x 1 root root 422 Nov 18 14:36 xvfb-chrome
    

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

    options.addArguments("--headless")
    
  • 相关阅读:
    Javascript作用域研究(with)
    Javascript判断object还是list/array的类型(包含javascript的数据类型研究)
    Javascript两个感叹号的用法(!!)
    Javascript中两个等于号和三个等于号的区别(==/===)
    IIS配置MP3/MP4/OGG/flv等资源文件访问
    生成GUID唯一值的方法汇总(dotnet/javascript/sqlserver)
    记录一次:微信支付申请时,网站不通过/统一驳回的问题解决方法
    C# 扩展系统类方法
    Javascript获取div真实高度
    Jquery获取offsetHeight
  • 原文地址:https://www.cnblogs.com/ybyn/p/13690914.html
Copyright © 2011-2022 走看看