我就静静地看着你,不说话~

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")

 
posted @ 2020-04-08 17:15  自由人生™  阅读(226)  评论(0编辑  收藏  举报