懒人在linux上使用安装selenium,及常见错误解决

首先安装谷歌浏览器

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

查看谷歌版本

google-chrome --version

我安装的是
在这里插入图片描述

安装需要的包

yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts

安装chromedriver:

ps附录:chromedriver全版本地址

谷歌官网下载:90.0.4430.24代表上述连接中谷歌版本对应的chromedriver文件夹名称,比如我的谷歌是90.0.4430.212版本,所以对应选择如下文件夹
在这里插入图片描述
谷歌官网下载chromedriver

wget https://chromedriver.storage.googleapis.com/90.0.4430.24/chromedriver_linux64.zip

淘宝源下载chromedriver

wget http://npm.taobao.org/mirrors/chromedriver/90.0.4430.24/chromedriver_linux64.zip

解压安装包

unzip chromedriver_linux64.zip

移动至bin下,便于直接访问

mv chromedriver /usr/bin/

增加可执行权限

chmod +x /usr/bin/chromedriver

常见错误说明:
错误: unknown error: DevToolsActivePort file doesn’t exist
解决办法添加–no-sandbox参数

from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
browser = webdriver.Chrome(chrome_options=chrome_options)

“–no-sandbox”参数是让Chrome在root权限下跑
“–headless”参数是不用打开图形界面(即无头模式)

错误: 使用有头模式报错,需要提供图形界面,一般没有,所以失败,为了正常使用。所以要下一个包:Xvfb,注意不同系统大小写
Ubuntu

apt-get install xvfb

centos

yum install Xvfb

运行方式

xvfb-run python test.py 

错误:Driver info: chromedriver=2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706),platform=Linux 3.10.0-1062.18.1.el7.x86_64 x86_64
解决办法:chrome版本和chromedriver版本不一致,重新下载chromedriver版本,找到对应的版本

你可能感兴趣的:(爬虫,selenium,linux)