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

 

CentOS-yum安装chrome+chromeDriver+xvfb的更多相关文章

  1. centos7安装chrome+chromeDriver+Xvfb

    安装chrome 创建yum源 # cd /etc/yum.repos.d/ # vim google-chrome.repo 创建yum源信息 [google-chrome] name=google ...

  2. 如何在linux CentOS 上安装chrome 谷歌浏览器?

    获得linux命令的root权限:http://blog.csdn.net/mddy2001/article/details/76521101. 更改密码在终端中输入:sudo passwd root ...

  3. centos yum 安装 mongodb 以及php扩展

    centos yum 安装 mongodb 以及php扩展 投稿:hebedich 字体:[增加 减小] 类型:转载 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用 ...

  4. 【转】CentOS yum安装和卸载软件的使用方法

    在CentOS yum安装和卸载软件的使用方法安装方法安装一个软件时.   CentOS yum -y install httpd安装多个相类似的软件时   CentOS yum -y install ...

  5. [转帖]Centos7 yum安装Chrome浏览器

    Centos7 yum安装Chrome浏览器 https://www.cnblogs.com/ianduin/p/8727333.html以及https://blog.csdn.net/libaine ...

  6. CentOS yum 安装LAMP PHP5.4版本

    CentOS yum 安装LAMP PHP5.4版本 [日期:2015-06-04] 来源:Linux社区  作者:rogerzhanglijie [字体:大 中 小]     Linux系统版本:C ...

  7. CentOS yum安装mcrypt

    CentOS yum安装mcrypt   本篇排错的前提是只想用yum安装,不想使用源码包编译安装. php依赖一下包:   #yum install libmcrypt libmcrypt-deve ...

  8. CentOS yum安装mcrypt详细图解教程

    CentOS yum安装mcrypt详细图解教程 在Linux的发行版CentOS 6.3 系统下,LAMP(Linux+Apache+Mysql+php)环境搭建好后发现PHPMyadmin提示 “ ...

  9. centos yum 安装php5.6

    centos yum 安装php5.6 卸载 php之前的版本: yum remove -y php-common 配置源 CentOS 6.5的源 rpm -Uvh http://ftp.iij.a ...

随机推荐

  1. gcc 编译过程详解-(转自CarpenterLee)

    前言 C语言程序从源代码到二进制行程序都经历了那些过程?本文以Linux下C语言的编译过程为例,讲解C语言程序的编译过程. 编写hello world C程序: // hello.c #include ...

  2. 1 理解Linux系统的“平均负载”

    什么是平均负载 我们知道使用top或uptime可以用来了解系统的负载情况. uptime 2 02:34:03 up 2 days, 20:14, 1 user, load average: 0.6 ...

  3. 基于python内置方法进行代码混淆

    0x00 动态加载模块 在python脚本中,直接使用import os.import subprocess或from os import system这种方法很容易被规则检测,即使使用其它执行命令的 ...

  4. 阿里云RDs 网络白名单 专用网络 经典网络

    云服务为了安全性总是有不同的安全规则,第一就是需要明白里面的网络类型   专有网络是您自己独有的云上私有网络.您可以完全掌控自己的专有网络,例如选择IP地址范围.配置路由表和网关等,您可以在自己定义的 ...

  5. Go语言之main包

    Go语言的代码通过包(package)组织,包类似于其他语言里的库(libraries)或者模块(modules).一个包由位于单个目录下的一个或多个go源文件组成,目录定义包的作用.每个源文件都以一 ...

  6. K8S集群etcd备份与恢复

    参考链接: K8S集群多master:Etcd v3备份与恢复 K8S集群单master:Kubernetes Etcd 数据备份与恢复 ETCD系列之一:简介:https://developer.a ...

  7. GO语言练习---对切片进行排序

    对整型切片进行选择排序 package main import "fmt" /*对切片排序*/ func SortSlice(slice []int) { for i := 0; ...

  8. Jupyter Notebook出现kernel error情况

    今天重新装了anaconda,在运行时发现真快,可是在运行selenium的代码时候,发现自己按照以前写得帖子得步骤做,同样还是出现了错误,心里不免大吃一惊,难道我的做法是错的?等到发现有个  ker ...

  9. Tengine Framework基础

    Tengine Framework基础 最受开发者喜爱的边缘AI计算框架 Tengine是OPEN AI LAB推出的自主知识产权的边缘AI计算框架,致力于解决AIoT产业链碎片化问题,加速AI产业化 ...

  10. 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事

    保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...