最近换了电脑,练习爬虫时用到selenium,结果在重新安装chromedriver插件的时候发现原网址不能使用,找了好久终于找到了了新网址,顺便更一篇详细使用的文章,希望可以对屏幕前的你有所帮助。本篇文章共分以下三个板块。

一、什么是 selenium?

二、安装selenium

三、下载chrome driver

一、什么是 selenium?

selenium原本被用于网页测试,是浏览器自动化测试框架,但在爬虫领域,它也实现了极大的价值。selenium 可以控制你的浏览器,模仿人浏览网页,从而获取数据,自动操作等。简单来说,只需运行你的代码,它就会实现自动打开浏览器,甚至还能输入账户密码,实现网页登陆等一系列自动操作。

有了 selenium,我们便不再需要判断网页数据加载的方式,只要让 selenium 自动控制浏览器,就像有双无形的手,控制着你的鼠标和键盘,自动地帮你干活。爬取数据?自动抢票?这些当然统统都不在话下。

不过 selenium 也并非没有缺点。因为要打开浏览器并控制它,所以和我们以前学的爬虫相比,它占用的资源会更多,爬取数据的效率也会有所降低,不过至少比我们手动操作还是快很多的。

二、安装selenium

方法一:和其他 Python 第三方库的安装一样,我们要在命令行中使用 pip 命令安装 selenium:

方法二:我用的pycharm,直接在里面安装。File——settings——Project——Python Interpreter——点击"+"——搜索”selenium"——install

三、下载chrome driver

使用elenium 还需要安装相应的浏览器驱动才能控制浏览器(最好使用 Chrome 浏览器),后面都以 Chrome 浏览器 为例,其他浏览器大同小异。

查看Chrome版本:首先打开 Chrome 浏览器,依次点击浏览器右上角的 三个点 - 帮助 - 关于 Google Chrome。

如图,我的浏览器的版本信息是 100.0.4896.88。

下载驱动:打开http://chromedriver.storage.googleapis.com/index.html网站,里面有很多版本的驱动,其中可能没有准确对应我们浏览器版本的驱动。我们选择最接近的版本即可,我选择了100.0.4896.60这个版本。我用的Windows系统,因为64位向下兼容,Windows直接下载32位即可。Windows 系统下载里面的 chromedriver_win32.zip 文件,MacOS 下载 chromedriver_mac64.zip。

移动驱动到Python安装目录:下载完成后解压缩chromedriver ,Windows 系统得到 chromedriver.exe,MacOS 得到 chromedriver,这个就是我们需要的浏览器驱动。我们要将它放到 Python 所在安装目录里。 如果你忘了 Python 的安装目录,可以根据下面的操作来找到。

在代码编辑器中运行以下代码,让 Python 自己打印出所在的位置:

import sys
print(sys.executable)

# 输出
# C:\Users\13781\PycharmProjects\spiderexercise\venv\Scripts\python.exe C:/Users/13781/PycharmProjects/spiderexercise/shan.py
# C:\Users\13781\PycharmProjects\spiderexercise\venv\Scripts\python.exe

一般情况下,Windows 系统:C:\xxx\xxx\python.exe;MacOS:/Users/xxx/xxx/xxx/python。

去掉末尾的 \python.exe 或者 /python 就是 Python 所在的目录。打开目录后,我们将下载好的驱动放到目录中即可。

验证驱动是否安装成功:Windows 系统在的命令行中输入 chromedriver 命令,MacOS 系统在终端中输入 chromedriver 命令。

如果出现如图所示的内容,就证明驱动已经安装成功了。

接下来~就尽情地享受selenium带给你的奇幻魅力吧~

爬虫篇-如何下载selenium及其适配谷歌浏览器插件chromedriver(含chrome各版本及下载地址)的更多相关文章

  1. chromedriver与chrome各版本及下载地址

    Selenium从2升级到3之后呢,Selenium 3 相较于2最大的变化就是更加的标准化,可以支持更多的浏览器.那我们做自动化的时候如果用的是selenium3的话,首先要坐的就是下载不同浏览器的 ...

  2. 谷歌浏览器下载地址 chrome最新版本 百度云地址

    每次下载更新谷歌浏览器是一件很蛋疼的事情.百度搜索"谷歌浏览器下载地址",居然有很多骗子网站,相信有很多不知所以的人中招了.收集了一些chrome的安装包,放在了百度云里面(打不开 ...

  3. selenium与webdriver驱动与firefox、 chrome匹配版本

    一.Chrome python3 selenium3.11.0(直接pip安装即可) chromedriver_win32:2.38 Chrome版本: 65.0.3325.146(正式版本)(32 ...

  4. 介绍一款chrom浏览器插件 DHC是一款使用chrome模拟REST客户端向服务器发送测试数据的谷歌浏览器插件

    先打个小广告哈 公司招java架构师,月薪25K以上,负责电商平台架构工作,工作地点在北京 1号线永安里站 附近,如有意向 请把简历发我邮箱jia6235@163.com 可以内部推荐. DHC是一款 ...

  5. selenium:chromedriver与chrome版本的对应关系

    转自:http://blog.csdn.NET/huilan_same/article/details/51896672 再使用selenium打开chrome浏览器的时候,需要用chromedriv ...

  6. 常用的HTTP测试工具谷歌浏览器插件汇总

    网页的开发和测试时最常见的测试就是HTTP测试,作为曾经的测试人员在这方面还是略知一二的.其实做网页测试工作是非常繁琐的时期,有时候甚至是无聊重复的,如果没有网页测试工具的帮助的话,测试人员会越做越怀 ...

  7. 爬虫 - 请求库之selenium

    介绍 官方文档 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的 ...

  8. 爬虫(五)—— selenium模块启动浏览器自动化测试

    目录 selenium模块 一.selenium介绍 二.环境搭建 三.使用selenium模块 1.使用chrome并设置为无GUI模式 2.使用chrome有GUI模式 3.查找元素 4.获取标签 ...

  9. 洗礼灵魂,修炼python(72)--爬虫篇—爬虫框架:Scrapy

    题外话: 前面学了那么多,相信你已经对python很了解了,对爬虫也很有见解了,然后本来的计划是这样的:(请忽略编号和日期,这个是不定数,我在更博会随时改的) 上面截图的是我的草稿 然后当我开始写博文 ...

随机推荐

  1. gitLab上dev分支上的内容都拉取到本地了

    从dev分支上更新代码 1.与远程仓库建立连接:git remote add origin XXXXX.git 2.使用git branch 查看本地是否具有dev分支 3.如果没有 git fetc ...

  2. 什么是LSA,在OSPF中LSA是什么

    什么是LSA:链路状态通告,它存在于LSU(链路状态更新包) Type 1 LSA:路由器LSA       每个OSPF路由器都会产生路由器LSA,描述了对应设备的物理接口所连接的链路和接口,并指明 ...

  3. leetcode-3无重复字符的最长子串

    题目原题: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 ...

  4. 数据结构-二叉树、B树、B+树、B*树(整理版)

    1. 二叉树 二叉树的特点: ① 所有非叶子节点至多拥有两个儿子(Left和Right): ② 所有节点存储一个关键字: ③ 非叶子节点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: ...

  5. SpringAOP--代理

    前言 在Spring或者SpringBoot中,可以通过@Aspect注解和切点表达式等配置切面,实现对某一功能的织入.然而其内部到底是如何实现的呢? 实际上,Spring在启动时为切点方法所在类生成 ...

  6. 哪种依赖注入方式你建议使用,构造器注入,还是 Setter方法注入?

    你两种依赖方式都可以使用,构造器注入和Setter方法注入.最好的解决方案是用构造器参数实现强制依赖,setter方法实现可选依赖.

  7. 面试问题之数据结构与算法:B树、B+树、B*树

    一.B树 B树是一种多叉平衡查找树,由于是多叉结构,对于元素数量非常多的情况下,树的深度不会像二叉结构那么大,可以保证查询效率. 二.B+树 B+是是B树的一种变形, 1.特点: (1).所有叶子结点 ...

  8. Javascript Promises学习

    Promise对象的三个状态 pending(进行中) fulfilled(已成功) rejected(已失败) Promise代表一个异步操作,对象的状态一旦改变,就不会再改变 Promise构造函 ...

  9. js技术之运用"typeof()"运算符校验变量类型

    一.简介 typeof();个人的理解就是可以判断出对应的变量类型,而且是用统一的类型 如:数字,小数等..... 都用Number来表示 而:所有对象都用object表示 二.探索到 typeof的 ...

  10. DevEco Device Tool 3.0 Release 新版本发布,支持多人共享开发

    DevEco Device Tool 是面向智能设备开发者提供的一站式集成开发环境,支持 HarmonyOS Connect 的组件按需定制,支持代码编辑.编译.烧录和调试.性能监测等功能,支持 C/ ...