前面我们成功安装好了Selenium库,但是它是一个自动化测试工具,需要浏览器来配合使用,本节中我们就介绍一下Chrome浏览器及ChromeDriver驱动的配置。

首先,下载Chrome浏览器,方法有很多,在此不再赘述。

随后安装ChromeDriver。因为只有安装ChromeDriver,才能驱动Chrome浏览器完成相应的操作。下面我们来介绍下怎样安装ChromeDriver。

1. 相关链接

2. 准备工作

在这之前请确保已经正确安装好了Chrome浏览器并可以正常运行,安装过程不再赘述。

3. 查看版本

点击Chrome菜单“帮助”→“关于Google Chrome”,即可查看Chrome的版本号,如图1-14所示。

图1-14 Chrome版本号

这里我的Chrome版本是58.0。

请记住Chrome版本号,因为选择ChromeDriver版本时需要用到。

4. 下载ChromeDriver

打开ChromeDriver的官方网站,可以看到最新版本为2.31,其支持的Chrome浏览器版本为58~60,官网页面如图1-15所示。

图1-15 官网页面

如果你的Chrome版本号是58~60,那么可以选择此版本下载。

如果你的Chrome版本号不在此范围,可以继续查看之前的ChromeDriver版本。每个版本都有相应的支持Chrome版本的介绍,请找好自己的Chrome浏览器版本对应的ChromeDriver版本再下载,否则可能无法正常工作。

找好对应的版本号后,随后到ChromeDriver镜像站下载对应的安装包即可:https://chromedriver.storage.googleapis.com/index.html。在不同平台下,可以下载不同的安装包。

5. 环境变量配置

下载完成后,将ChromeDriver的可执行文件配置到环境变量下。

在Windows下,建议直接将chromedriver.exe文件拖到Python的Scripts目录下,如图1-16所示。

图1-16 Python Scripts目录

此外,也可以单独将其所在路径配置到环境变量,具体的配置方法请参见1.1节。

在Linux和Mac下,需要将可执行文件配置到环境变量或将文件移动到属于环境变量的目录里。

例如,要移动文件到/usr/bin目录。首先,需要在命令行模式下进入其所在路径,然后将其移动到/usr/bin:

 
 
1
sudo mv chromedriver /usr/bin

当然,也可以将ChromeDriver配置到$PATH。首先,可以将可执行文件放到某一目录,目录可以任意选择,例如将当前可执行文件放在/usr/local/chromedriver目录下,接下来可以修改~/.profile文件,相关命令如下:

 
 
1
export PATH="$PATH:/usr/local/chromedriver"

保存后执行如下命令:

 
 
1
source ~/.profile

即可完成环境变量的添加。

6. 验证安装

配置完成后,就可以在命令行下直接执行chromedriver命令了:

 
 
1
chromedriver

如果输入控制台有类似图1-17所示的输出,则证明ChromeDriver的环境变量配置好了。

图1-17 控制台输出

随后再在程序中测试,执行如下Python代码:

 
 
1
2
from selenium import webdriver
browser = webdriver.Chrome()

运行之后,如果弹出一个空白的Chrome浏览器,则证明所有的配置都没有问题。如果没有弹出,请检查之前的每一步配置。

如果弹出后闪退,则可能是ChromeDriver版本和Chrome版本不兼容,请更换ChromeDriver版本。

如果没有问题,接下来就可以利用Chrome来做网页抓取了。

[Python3网络爬虫开发实战] 1.2.3-ChromeDriver的安装的更多相关文章

  1. [Python3网络爬虫开发实战] 1.3.2-Beautiful Soup的安装

    Beautiful Soup是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据.它拥有强大的API和多样的解析方式,本节就来了解下它的安装方式. 1. 相关链接 官方文 ...

  2. [Python3网络爬虫开发实战] 1.9.4-Scrapyd API的安装

    安装好了Scrapyd之后,我们可以直接请求它提供的API来获取当前主机的Scrapy任务运行状况.比如,某台主机的IP为192.168.1.1,则可以直接运行如下命令获取当前主机的所有Scrapy项 ...

  3. 崔庆才Python3网络爬虫开发实战电子版书籍分享

    资料下载地址: 链接:https://pan.baidu.com/s/1WV-_XHZvYIedsC1GJ1hOtw 提取码:4o94 <崔庆才Python3网络爬虫开发实战>高清中文版P ...

  4. 《Python3 网络爬虫开发实战》开发环境配置过程中踩过的坑

    <Python3 网络爬虫开发实战>学习资料:https://www.cnblogs.com/waiwai14/p/11698175.html 如何从墙内下载Android Studio: ...

  5. 《Python3 网络爬虫开发实战》学习资料

    <Python3 网络爬虫开发实战> 学习资料 百度网盘:https://pan.baidu.com/s/1PisddjC9e60TXlCFMgVjrQ

  6. Python3网络爬虫开发实战PDF高清完整版免费下载|百度云盘

    百度云盘:Python3网络爬虫开发实战高清完整版免费下载 提取码:d03u 内容简介 本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib.req ...

  7. 转:【Python3网络爬虫开发实战】 requests基本用法

    1. 准备工作 在开始之前,请确保已经正确安装好了requests库.如果没有安装,可以参考1.2.1节安装. 2. 实例引入 urllib库中的urlopen()方法实际上是以GET方式请求网页,而 ...

  8. 《Python3网络爬虫开发实战》PDF+源代码+《精通Python爬虫框架Scrapy》中英文PDF源代码

    下载:https://pan.baidu.com/s/1oejHek3Vmu0ZYvp4w9ZLsw <Python 3网络爬虫开发实战>中文PDF+源代码 下载:https://pan. ...

  9. 《Python3网络爬虫开发实战》

    推荐:★ ★ ★ ★ ★ 第1章 开发环境配置 第2章 网页基础知识 第3章 网络爬虫基础 第4章 基本库的使用 第5章 解析库的使用 第6章 数据存储 第7章 Ajax数据爬取 第8章 动态渲染页面 ...

  10. [Python3网络爬虫开发实战] 3.1.4-分析Robots协议

    利用urllib的robotparser模块,我们可以实现网站Robots协议的分析.本节中,我们来简单了解一下该模块的用法. 1. Robots协议 Robots协议也称作爬虫协议.机器人协议,它的 ...

随机推荐

  1. springmvc h5上传图片

    工作中开发一个评价功能,需要上传拍照的图片,后台使用springmvc接收文件,前端FormData异步提交. 1. spring配置multipartResolver <bean id=&qu ...

  2. Gym 100548K Last Defence (数论)

    题意:给定两个数,然后从第三个开始,每个数都是前两个数的差的绝对值,问这个序列中有多少个不同的元素. 析:这个和辗转相除法差不多,假设a  > b那么a-b之间就有a/b个数,然后再计算a%b- ...

  3. Linux Gcc编译错误(转载)

    转自:http://www.linuxidc.com/Linux/2012-01/52153.htm Linux系统下的c编程与Windows有所不同,如果你在用gcc编译代码的时候提示‘for’ l ...

  4. Swift4 函数, 元组, 运算符

    创建: 2018/02/19 完成: 2018/02/19 更新: 2018/02/25 修改标题 [Swift4 函数] -> [Swift4 函数, 元组, 运算符] 更新 :2018/03 ...

  5. shiro错误:Subject does not have permission [user:select]

    使用的是jdbcRealm,在数据库中有相应的权限 错误日志: org.apache.shiro.authz.UnauthorizedException: Subject does not have ...

  6. hdu 2063 过山车 (最大匹配 匈牙利算法模板)

    匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名.匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最 ...

  7. (二)python高级特性

    一.切片 >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] 对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python ...

  8. Kruskal HDOJ 4313 Matrix

    题目传送门 题意:如何花最小的代价使得一棵树划分开且不含同类节点 分析:当一条边连接的左右集合同类点小于等于1,那么不用删除,将两个集合合并,要求最小代价,那么贪心思想将权值降序排序,删除后剩下的就是 ...

  9. 总结用CoreText绘制文本时遇到的问题以及解决办法

    关于CoreText不做解释.用的人自然知道这个是干什么的. 功能非常强大,可以绘制文本,图片等. 这次用的Xcode7.0的版本.所以之前很多方法,现在不能用.也不是不能用,就是有黄色警告很不爽. ...

  10. [译]curl_multi_add_handle

    NAMEcurl_multi_add_handle - add an easy handle to a multi session添加easy handle到multi session中 SYNOPS ...