最近换了电脑,练习爬虫时用到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. .Net Core 前台添加赋值POST提交到Api控制实现添加

    使用Form表单提交到数据库 这两个必须要写,不能写这样的格式,会提交获取不到数据 contentType: 'application/json',正确格式: contentType: 'applic ...

  2. JavaScript01 js基础语法,数据类型

    JavaScript的概述: 1.组成 三部分组成 ecmaScript 基础语法 (es5) dom document object model 文档对象模型 (操作html文档内容) bom bo ...

  3. ServletConfig对象和ServletContext对象有什么区别?

    一个Servlet对应有一个ServletConfig对象,可以用来读取初始化参数. 一个webapp对应一个ServletContext对象. ServletContext对象获取初始化定义的参数. ...

  4. String、StringBuiler、StringBuffer的区别

    一.三者的区别概述 1.可变与不可变:String底层使用final修饰的字符数组来存储字符串,它属于不可变类,对String对象的任何改变操作都不会改变原对象,而是生成一个新对象.StringBui ...

  5. java-IO异常处理

    以前的异常处理 public class Demo3 { public static void main(String[] args) { //提高fw的作用域 //变量定义的时候可以没有值,但是使用 ...

  6. HTML 5中的本地存储概念?

    很多时候,我们想在本地计算机存储有关用户的信息.例如,假设用户已经填满了一半的长表单,互联网却突然连接中断.此时,用户希望能在本地存储这些信息,然后当重新连接到互联网的时候,获取这些信息,并将其发送到 ...

  7. printf()函数压栈a++与++a的输出

    printf()中a++与++a的输出问题 在C语言中有个很常用的函数printf(),使用时从右向左压栈,也就是说在printf("%d %d %d %d\n",a,a++,++ ...

  8. 【动态系统的建模与分析】9_一阶系统的频率响应_低通滤波器_Matlab/Simulink分析

    magnitude response:振幅响应 phase response:相位响应 传递函数G(S)为什么将S看成jw化成G(jw)通过[动态系统的建模与分析]8_频率响应_详细数学推导 G(jw ...

  9. 3.3V转5V原理图

  10. vue双向绑定、Proxy、defineproperty

    本文原链接:https://www.jianshu.com/p/2df6dcddb0d7 前言 双向绑定其实已经是一个老掉牙的问题了,只要涉及到MVVM框架就不得不谈的知识点,但它毕竟是Vue的三要素 ...