之前一直在服务器运行自动化浏览器脚本,但是又忘记记录笔记,这次顺便整理一下。
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,原创技术文章第一时间推送。