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
自动安装脚本
自动安装脚本
1#!/bin/bash 2 3 4 5# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 6 7# chrome 安装 8 9# 判断google-chrome 是否已经安装 10 11# 已经安装和是否能够通过命令行掉用是两个概念,chromedriver直接调用命令行的方式来驱动chrome 12 13# 如果不能通过命令行来驱动chrome,等同没装chrome 14 15# 所以通过google-chrome -version 判断是否能够通过命令驱动chrome 16 17# 如果不能驱动chrome 那么通过 CentOS 自带的包管理工具Yum 安装 google-chorme 18 19# CentOS 系列Yum安装程序需要修改 yum repo 源信息文件,而修改这些权限只有root账户能够修改 20 21# 所以通过root安装chrome浏览器 22 23# 24 25# chromedriver 安装 26 27# 从测试服务器拷贝 chromedriver 的zip压缩包 到 /data/app 下 28 29# 使用zip 解压缩 chromedriver 的包 30 31# 如果 append_config 为1 32 33# 使用输入重定向 chromedriver 的安装路径配置到 application.properties中 34 35# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 36 37 38 39append_config=$1 40 41# 默认为在配置文件中添加chromedriver配置 42 43test -z $append_config && echo "missing param append_config. use default 1" && append_config=1 44 45 46 47# chrome 安装 48 49chromeversion=`google-chrome -version` 50 51if [ $? -eq 0 ];then 52 53 echo "current chrome version : $chromeversion" 54 55else 56 57 echo "chrome not exits.\r\n login root install google-chrome " 58 59 su - root -c yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 60 61fi 62 63 64 65# chromedriver 安装 66 67pushd /data/app 68 69if [ ! -e chromedriver_linux64.zip ];then 70 71 echo scp chromedriver 72 73 scp USER@IP8:/data/app/chromedriver_linux64.zip /data/app 74 75 if [ ! $? -ne 0]; then 76 77 echo "scp chromedriver failed" && exit 0 78 79 fi 80 81else 82 83 echo "chromedriver file is exits" 84 85fi 86 87unzip chromedriver_linux64.zip 88 89popd 90 91 92 93 94 95# 在配置文件中添加内容chromedirver的配置 96 97if [ $append_config -eq 1 ];then 98 99 pushd /data/project/java/crawler 100 101 echo append to application.properties 102 103 echo chromedriver.path=/data/app/chromedriver >> application.properties 104 105 popd 106 107fi
问题: 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` 。
