zoukankan      html  css  js  c++  java
  • 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")

     
  • 相关阅读:
    Charles截获iPhone网络请求
    android小Demo--圆球跟随手指轨迹移动
    《腾讯网UED体验设计之旅》读后感
    eatwhatApp开发实战(十四)
    [Unity2d系列教程] 006.Unity如何根据图片自动生成Animator
    [Unity2d系列教程] 005.Unity如何使用外部触控插件FingerGuesture
    eatwhatApp开发实战(十三)
    微服务平台技术架构
    Istio 流量劫持过程
    Istio 组件常用端口
  • 原文地址:https://www.cnblogs.com/zyrs/p/13653165.html
Copyright © 2011-2022 走看看