CentOS7安装Chrome以及浏览器驱动进行自动化

CentOS7安装Chrome以及浏览器驱动进行自动化

之前一直在服务器运行自动化浏览器脚本,但是又忘记记录笔记,这次顺便整理一下。

1.配置yum源

使用root用户在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repo

# cd /etc/yum.repos.d/
# vim 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

2.安装Google Chrome浏览器

使用root用户安装

yum -y install google-chrome-stable

Google官方源可能在中国无法使用,导致安装失败或者在国内无法更新,那么可以添加以下参数来尝试安装:

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

验证是否安装成功

#   which google-chrome-stable
/usr/bin/google-chrome-stable

# google-chrome-stable --version
Google Chrome 107.0.5304.110 

做个软链接吧

ln -s /usr/bin/google-chrome-stable /bin/chrome

但是root用户不能运行chrome,怎么办?

# vim  /opt/google/chrome/google-chrome

exec -a "$0" "$HERE/chrome" "$@"


将最后一行改写为: 
#exec -a "$0" "$HERE/chrome" "$@"
exec -a "$0" "$HERE/chrome" "$@" --no-sandbox $HOME

3.安装浏览器驱动Chrome Driver

  • 国内淘宝镜像

https://registry.npmmirror.com/binary.html?path=chromedriver/

  • 下载部署

上面例子我们看到版本是Google Chrome 107.0.5304.110那么我们选择一个大版本107开头的最新的文件夹107.0.5304.62

那么下载地址就是:https://registry.npmmirror.com/-/binary/chromedriver/107.0.5304.62/chromedriver_linux64.zip

# wget https://registry.npmmirror.com/-/binary/chromedriver/107.0.5304.62/chromedriver_linux64.zip
# unzip chromedriver_linux64.zip
  • 软连接
# chmod +x chromedriver
# sudo mv -f chromedriver /usr/local/share/chromedriver
# sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
# sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

PS:当然你也可以放在其他地方,只要配置相应环境变量,可以找到chromedriver的地方就可以了。

4.安装系统依赖

# yum update
# yum install -y Xvfb
# yum install -y libXfont
# yum install -y xorg-x11-fonts*

5. 安装Python第三方库

这里我选择的是自己的编译Python库,不影响系统本身的Python

$ pip3 install selenium

6. 写个demo

写个脚本,只要没报错就可以了。

#!/usr/bin/python
# coding=utf-8

__author__ = 'testerzhang'


from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.add_argument('window-size=1920x1080')
browser = webdriver.Chrome(options=options) 

本文没有授权给任何组织、企业和个人转载,未经作者允许禁止转载!

欢迎关注我的公众号testerzhang,原创技术文章第一时间推送。

公众号二维码

updatedupdated2022-11-172022-11-17