chrome 和 chromedriver
如果没有安装过chrome浏览器,那么下边安装chrome命令安装浏览器。
在命令行输入 google-chrome -version 查看chrome浏览器的版本,在下网站中进行比对。
获取当前chrome适配的chromedriver版本。解压到 /data/app 下,运行解压后的chromedriver , 如果启动如下图,那么安装成功。
- 安装chrome
yum -y install https://dl.google.com/linux/direct/google-chrome-stable\_current\_x86\_64.rpm
- 比对chromedriver 版本
https://blog.csdn.net/huilan\_same/article/details/51896672
- chromedriver 下载地址
http://chromedriver.storage.googleapis.com/index.html
自动安装脚本
自动安装脚本
#!/bin/bash
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# chrome 安装
# 判断google-chrome 是否已经安装
# 已经安装和是否能够通过命令行掉用是两个概念,chromedriver直接调用命令行的方式来驱动chrome
# 如果不能通过命令行来驱动chrome,等同没装chrome
# 所以通过google-chrome -version 判断是否能够通过命令驱动chrome
# 如果不能驱动chrome 那么通过 CentOS 自带的包管理工具Yum 安装 google-chorme
# CentOS 系列Yum安装程序需要修改 yum repo 源信息文件,而修改这些权限只有root账户能够修改
# 所以通过root安装chrome浏览器
#
# chromedriver 安装
# 从测试服务器拷贝 chromedriver 的zip压缩包 到 /data/app 下
# 使用zip 解压缩 chromedriver 的包
# 如果 append_config 为1
# 使用输入重定向 chromedriver 的安装路径配置到 application.properties中
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
append_config=$1
# 默认为在配置文件中添加chromedriver配置
test -z $append_config && echo "missing param append_config. use default 1" && append_config=1
# chrome 安装
chromeversion=`google-chrome -version`
if [ $? -eq 0 ];then
echo "current chrome version : $chromeversion"
else
echo "chrome not exits.\r\n login root install google-chrome "
su - root -c yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
fi
# chromedriver 安装
pushd /data/app
if [ ! -e chromedriver_linux64.zip ];then
echo scp chromedriver
scp USER@IP8:/data/app/chromedriver_linux64.zip /data/app
if [ ! $? -ne 0]; then
echo "scp chromedriver failed" && exit 0
fi
else
echo "chromedriver file is exits"
fi
unzip chromedriver_linux64.zip
popd
# 在配置文件中添加内容chromedirver的配置
if [ $append_config -eq 1 ];then
pushd /data/project/java/crawler
echo append to application.properties
echo chromedriver.path=/data/app/chromedriver >> application.properties
popd
fi
问题: error while loading shared libraries: libglib-2.0.so.0/libX10.so
遇到问题记录
chrome安装失败,或者没有安装chrome 通过 google-chrome -version
检测chrome是否安装。
问题: unknown error: Chrome failed to start: exited abnormally
>>>>>>>> 抛出的异常信息
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),
platform=Linux 3.10.0-693.21.1.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.02 seconds Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
>>>>>>>>>
很多不同的错误都会抛出这个信息。所以这个问题非常难以排查。本次是在stackoverflow上找到的解决方案, 解决信息下图。
在root账号下启动的程序,需要加参数`no-sandbox` 。