【Python自学笔记】Selenium使用cookie免登录访问网页

文章目录

    • Selenium 如何使用 cookie 登入网页
      • 获取 cookie (以Chrome为例)
      • Selenium加载cookie
      • 结语
            • 注意点

Selenium 如何使用 cookie 登入网页

很多时候大家可能会遇到这种情况,需要登入网页才能在取该网页或者使用selenium控制某个元素,这个时候我们就需要进行网页登入。但是,很多网页都会有验证码等一些干扰因素,这样就增加了我们自动登入的难度,这个时候,使用 cookie 登入网页就能很好的解决这个问题了,下面我们就一起来看看到底如何才能实现cookie登入网页吧…

获取 cookie (以Chrome为例)

  • 要想使用 cookie登入网页,那第一步当然是要先获取cookie
  1. 手动登入网站
  2. F12打开开发者工具,或者在页面右键点击选择检查打开【Python自学笔记】Selenium使用cookie免登录访问网页_第1张图片
  3. 然后在Application标签下找到我们需要的cookie详情【Python自学笔记】Selenium使用cookie免登录访问网页_第2张图片
  4. 如上图,我们看到cookie有很多字段:Name Value Domain Path Expires...,这里我们要用的也就是这些字段来设置cookie
  5. 这里推荐一个Chrome浏览器插件给大家提取cookies,这个插件提取出来的内容可以设置成JSON格式,这样方便我们使用,这个插件的名字是EditThisCookies【Python自学笔记】Selenium使用cookie免登录访问网页_第3张图片
    6. 到处cookies得到的是一个带有多个字典的列表,这里我们需要将字典中的字段顺序调整一下,修改顺序为前面Application标签中cookie字段的顺序,即Name Value Domain Path Expires,建议保留这5个字段即可,其他的字段删除。

Selenium加载cookie

  • 前面对获取的cookies进行修改后,获得了一个我们需要的cookie列表,接下来我们只需要遍历加载cookie然后访问网页即可
cookies = ["这里是我们前面修改后的cookies字典列表"]
#在加载cookie之前,我们先需要打开一下我们需要访问的网页
#这点很重要,很重要,很重要
wd.get("这里是需要访问的网站地址")		#wd 是 webdriver 实例化对象
for cookie in cookies:
    wd.add_cookie(cookie)
wd.get("网站")

结语

  • 好了,其实还是挺简单的对不对,这里有几个需要注意的点
注意点
  1. 通过EditThisCookie获取的列表需要按照Application标签的顺序进行调整
  2. python代码加载cookies之前需要先打开需要访问的网站,否者程序不知道cookie要加载到哪个网址,将会报错!
  3. cookie一般都存在一定的时效,不同网站的cookie失效时间不同,所以当cookie失效之后需要重新手动登入获取!
  4. 加载配置目录也可以实现面登入功能,点击这里进行查看

你可能感兴趣的:(python自学笔记)