默认下载2.35版本,放置到/usr/local/bin

#!/usr/bin/env bash
# -------------------------------------------------------
# TITLE
# install_chromedriver_mac.sh
# DESCRIPTION
# 用于自动下载指定版本的驱动
# AUTHOR
# bixiaopeng <wirelessqa@163.com>
# DEPENDENCIES
# Operating System: Works on mac OS
# Shell: bash preferred.
# HOWTO
# bash install_chromedriver_mac.sh <版本号>
# bash install_chromedriver_mac.sh # 会下载默认的2.35版本
#
# -------------------------------------------------------
# CHANGELOG
# 16/9/21 上午10:56 bixiaopeng initial version created. CHROME_DRIVER_VERSION=2.35 version=$1 # 输入的版本号 # 判断是否为空
if [[ -z ${version} ]];then echo "- Version param is empty. set default version=${CHROME_DRIVER_VERSION}" && version=${CHROME_DRIVER_VERSION};fi echo "- Download version ${version}" # chrome driver 驱动文件下载固定 URL ,不要攺动哦。
CHROME_DRIVER_BASE_URL="http://chromedriver.storage.googleapis.com/index.html?path=${CHROME_DRIVER_VERSION}/"
CHROME_DRIVER_URL_MAC=${CHROME_DRIVER_BASE_URL}"chromedriver_mac64.zip" # mac 版的压缩包名
ZIP_FILE_NAME="chromedriver_mac64.zip"
# 解压后的名字
CMD_FILE_NAME="chromedriver" function download_chromedriver()
{
echo - Download ${ZIP_FILE_NAME} from ${CHROME_DRIVER_URL_MAC}
curl -O -X GET -H "X-DevTools-Emulate-Network-Conditions-Client-Id: 31f262af-532f-47ed-89f6-6bae5b7b4e3f" -H "Upgrade-Insecure-Requests: 1" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36" -H "X-Client-Data: CJe2yQEIpLbJAQjBtskBCPKcygE=" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "Referer: http://chromedriver.storage.googleapis.com/index.html?path=${CHROME_DRIVER_VERSION}/" -H "Accept-Encoding: gzip, deflate, sdch" -H "Accept-Language: zh-CN,zh;q=0.8,en;q=0.6" -H "Cache-Control: no-cache" -H "Postman-Token: 7abaa68b-1cbe-5629-a8de-5efb85d80fe4" "http://chromedriver.storage.googleapis.com/${CHROME_DRIVER_VERSION}/${ZIP_FILE_NAME}" if [[ ! -f ${ZIP_FILE_NAME} ]]
then
echo ">> Fail download."
exit 0
else
echo ">> Success download."
fi
} function unzip_file()
{
unzip ${ZIP_FILE_NAME}
if [[ -f ${CMD_FILE_NAME} ]];then echo "- Unzip success.";else echo "- Unzip fail." && exit 0;fi
} function init_env()
{
rm ${ZIP_FILE_NAME}
rm ${CMD_FILE_NAME}
} echo "第1步: 初始化环境,然后下载${version}版本的压缩文件"
init_env
download_chromedriver echo "第2步: 解压"
unzip_file echo "第3步: 把命令文件复制到指定目录"
cp ${CMD_FILE_NAME} /usr/local/bin echo "第4步: 查看chrome driver 版本"
chromedriver -v

  

mac上安装chromedriver的更多相关文章

  1. 在Mac上安装IntelliJ IDEA

    这篇文章旨在介绍如何在Mac系统上安装IntelliJ IDEA,至于IntelliJ IDEA的介绍和使用方法,大家另行查阅,本篇的文章不再详细阐述. 简短解说,IntelliJ IDEA是可以用来 ...

  2. Mac上安装brew

    用过ubuntu系统的都知道,上面有一个命令apt-get 很方便可以快速的安装很多软件 特别lamp环境 都是一键安装. 在mac上也有类似的命令 brew brew用法可以访问官网地址  http ...

  3. mac 上安装服务,查看服务,重启和关闭

    首先了解下的Mac的 homebrew ,官网:https://brew.sh/index_zh-cn.html 简单的说: Homebrew 能干什么? 答:使用 Homebrew 安装 Apple ...

  4. Mac上安装brew 包管理工具

    Mac 上的包管理工具对于开发者来说是一件非常方便的工具,能够有效的对包进行管理. 所以这篇博客就来简单的讲一下brew 的安装和一些基础命令. brew 全称叫做Homebrew . 1. 首先来说 ...

  5. Mac上安装Charles进行抓包全流程设置

    安装 -- 官网下载最新版的Charles版本,按照提示安装即可 破解 -- https://blog.csdn.net/qq_25821067/article/details/79848589. M ...

  6. 【mac上安装&配置&使用git】

    转自:https://www.jianshu.com/p/7edb6b838a2e 目录 安装git 创建ssh key.配置git 提交本地项目到GitHub 一.安装Git MAC 上安装Git主 ...

  7. Mac上安装PHP、Apache、MySQL

    Mac自带php5.6版本,要升级到php7.3 步骤如下 1,brew 安装php ,如果没有安装,访问https://brew.sh/index_zh-cn安装在终端输入以下内容,不用指定安装ph ...

  8. Mac上安装第三方应用显示包资源破坏解决办法

    Mac上安装第三方应用显示包资源破坏解决办法 步骤1:Spotlight搜索(快捷键:command+空格或右上角搜索的符号):搜索 “终端”步骤2:直接复制粘贴 sudo spctl --maste ...

  9. 002-docker安装-mac上安装docker,17.06在CentOS7 64位机器上安装

    一.mac上安装docker 1.下载 通过这个链接下载:https://download.docker.com/mac/stable/Docker.dmg 2.安装 将 Moby 的鲸鱼图标拖拽到  ...

随机推荐

  1. 2018.5.8 XML编程

    1.XML的概念 XML(Extensible Markup Language)可扩展性标记语言是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识. 可拓展性标记语言是SGML( ...

  2. 两个有序数列,求中间值 Median of Two Sorted Arrays

    原题: There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the ...

  3. 数据库连接池 dbcp与c3p0的使用区别

    众所周知,无论现在是B/S或者是C/S应用中,都免不了要和数据库打交道.在与数据库交 互过程中,往往需要大量的连接.对于一个大型应用来说,往往需要应对数以千万级的用户连接请求,如果高效相应用户请求,对 ...

  4. oracle 命中率

    一般在I/O 使用中,为了提高系统处理速度,系统提前将数据读入一块内存区,叫高速缓存,但提前读入的数据未必就是需要的,这就是命中率..计算公式为 命中率=1-(physical reads/(db b ...

  5. Java迭代器问题 有100个人围成一个圈从1开始报数,报到14的这个人就要退出,然后其他人重新开始,从1报数,到14退出问:最后剩下的是100人中的第几个人 用listIterator迭代元素,并对集合进行删除操作

    package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; ...

  6. 接口的定义——默认加public abstract默认全局常量;与继承不同,子类可以同时实现多个接口;抽象类实现接口;接口继承接口

    一. 接口的定义 接口中定义的方法,全部都为抽象方法,默认加public abstract 接口中定义的变量,全部为全局常量,默认加public static final 二.与继承不同,子类可以同时 ...

  7. 20180904 定时器setTimeout和setInterval回调问题

    引用: setTimeout和setInterval两者的区别 setTimeout和setInterval的优缺点 setTimeout和setInterval详解 两者的作用都是在定时多少毫秒后回 ...

  8. 汇编语言 Part 1——简介、基本语法、内存分段与内存地址

    简介 什么是汇编语言? 汇编语言是一种低级的编程语言,在程序的语句和体系结构的机器代码指令之间有很强的对应关系. 每种汇编语言都特定于特定的计算机体系结构,但需要解释或编译.汇编语言也可以称为符号机器 ...

  9. LeetCode(220) Contains Duplicate III

    题目 Given an array of integers, find out whether there are two distinct indices i and j in the array ...

  10. Linux实现内容分发的主备模式的智能DNS

    BIND实现智能DNS的原理是通过view的方式,首先判断客户请求的来源,然后返回不同的IP 规划:为za.com域进行智能解析 分2个网段,192.168.1.0/24网段的请求解析到192.168 ...