若是沒有安裝過chrome瀏覽器,那麼下邊安裝chrome命令安裝瀏覽器。html
在命令行輸入 google-chrome -version 查看chrome瀏覽器的版本,在下網站中進行比對。java
獲取當前chrome適配的chromedriver版本。解壓到 /data/app 下,運行解壓後的chromedriver , 若是啓動以下圖,那麼安裝成功。linux
yum -y install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpmchrome
https://blog.csdn.net/huilan_same/article/details/51896672api
http://chromedriver.storage.googleapis.com/index.html瀏覽器
自動安裝腳本bash
#!/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
chrome安裝失敗,或者沒有安裝chrome 經過 google-chrome -version
檢測chrome是否安裝。服務器
>>>>>>>> 拋出的異常信息app
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormallyide
(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` 。