今天跟大家介绍一下三种cookie的使用方法,selenium提供了我们add_cookie()方法来跳过验证码直接登录的方法。我们现在以博客园登录为例,都知道现在博客园登录要拼图验证。

先在网页打开到登录界面:

打开这个登录页面以后,打开你的fiddler:

点Remove all即可清除下面的信息。

然后回到博客园登录页面进行登录操作,登录成功以后,进入fiddler查看:

找上图方框的Host地址。点击,然后看右侧的cookie:

看下面Cookies标签,就是方框里面的内容,等号前面的是'name',等号后面的是对应的value。只需要加上'name','value','domain'三个cookie值就可以了。

好,我们看代码:

# coding: utf-8from selenium import webdriverfrom time import sleep

driver = webdriver.Firefox()
driver.get("https://www.cnblogs.com/")
driver.add_cookie({'name': '.CNBlogsCookie', 'value': '45E821B8C9CB67088674479A3C874E', 'domain': '.cnblogs.com'})
driver.add_cookie({'name': '.Cnblogs.AspNetCore.Cookies', 'value': 'CfDJ8N7AeFYNSk1Put6Iydpme28w5Q', 'domain': '.cnblogs.com'})
sleep(2) driver.refresh()

把你复制的cookie值复制到上面替换对应value,运行以上代码,发现可以跳过登录界面直接登录成功了。domain的意思是作用域,要加上这个key和value才可以。
接下来再给大家介绍两个cookie使用方法,一般情况下我们用不到,了解一下就可以,而且如果真的用到的时候百度也很快的:

# coding: utf-8from selenium import webdriverfrom time import sleep

d = webdriver.Firefox()
d.get("https://www.yiyao.cc")# 看一下登录前的cookieprint d.get_cookies() d.add_cookie({'name': '_ui_', 'value': '+f8a02ljlfcnpYmw==', 'Domain': 'yiyao.cc'})
d.add_cookie({'name': '_ut_', 'value': 'otrftkqcJoQ4F2Q==', 'Domain': 'yiyao.cc'}) sleep(3)
d.refresh()
sleep(2)# 看一下登录后的cookieprint d.get_cookies()

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1085991341,还会有同行一起技术交流。
给大家推荐一个很好用的软件和对应的插件:

这个,而且要下这个版本的,因为我就会用这个版本下插件:

下载一个JSTool的插件,插件很多,只能慢慢找这个,下载好了以后,格式化json是非常方便的,Ctrl+alt+m就可以切换成标准格式的json:

至于那些删除cookie(delete_cookie('key'))或者删除所有cookies(delete_all_cookies())就不用说了,谁闲着没事删cookies啊。

获取对象属性
还有一个就是查看对象属性:get_attribute()

以百度为例:

# coding: utf-8from selenium import webdriverd = webdriver.Firefox()
d.get("https://www.baidu.com")print d.get_cookies()# 定位新闻attri = d.find_element_by_xpath(".//*[@id='u1']/a[1]")# 打印class属性值print attri.get_attribute('class')# 打印文字内容print attri.text

可以看到打印的内容是:

到此为止,我们selenium基础部分就算是结束了,还有去掉chrome提示“正在被自动化软件使用”提示语:

options = webdriver.ChromOptions()
options.add_argument('disable-infobars')
d = webdriver.Chrome(chrome_options=options)

以上就是今天跟大家分享的三种实用的cookie使用方法,以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

3个必备cookie实用方法的更多相关文章

  1. js实用方法记录-简单cookie操作

    js实用方法记录-简单cookie操作 设置cookie:setCookie(名称,值,保存时间,保存域); 获取cookie:setCookie(名称); 移除cookie:setCookie(名称 ...

  2. 50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段

    50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段 本文会给你们展示50个jquery代码片段,这些代码能够给你的javascript项目提供帮助.其中的一些代码段是从j ...

  3. 登陆后设置cookie的方法

    public void SetCookie(string userName, string role,string cookieValueName) {FormsAuthentication.Form ...

  4. jquery.cookie使用方法

    jquery.cookie 使用方法 一个轻量级的 cookie 插件,可以读取.写入.删除 cookie . jquery.cookie.js 的配置 首先包含 jQuery 的库文件,在后面包含 ...

  5. 各种浏览器(IE,Firefox,Chrome,Opera)COOKIE修改方法[转]

    各种浏览器(IE,Firefox,Chrome,Opera)COOKIE修改方法[转] 网站通过 Cookie 保存了我们访问网站的信息,在不同的浏览器中修改 Cookie 可以如下操作: Firef ...

  6. Repeater为空时显示“暂无数据”,很方便实用方法

    Repeater为空时显示“暂无数据”,很方便实用方法 <FooterTemplate>   <asp:Label ID="lblEmptyZP" Text=&q ...

  7. js实用方法记录-js动态加载css、js脚本文件

    js实用方法记录-动态加载css/js 附送一个加载iframe,h5打开app代码 1. 动态加载js文件到head标签并执行回调 方法调用:dynamicLoadJs('http://www.yi ...

  8. Python中os和shutil模块实用方法集…

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

  9. Python中os和shutil模块实用方法集锦

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

随机推荐

  1. 5.29 省选模拟赛 波波老师 SAM 线段树 单调队列 并查集

    LINK:波波老师 LINK:同bzoj 1396 识别子串 不过前者要求线性做法 后者可以log过.实际上前者也被我一个log给水过了. 其实不算很水 我自认跑的很快罢了. 都是求经过一个位置的最短 ...

  2. 谁来教我渗透测试——黑客必须掌握的Linux基础

    上一篇我们学习了Windows基础,今天我们来看一看作为一名渗透测试工程师都需要掌握哪些Linux知识.今天的笔记一共分为如下三个部分: Linux系统的介绍 Linux系统目录结构.常用命令 Lin ...

  3. Spring中使用MyBatis Generator

    简介 MyBatis Generator 是由MyBatis官方提供的MyBatis代码生成器.可以根据数据库表生成相关代码,比如POJO.Mapper接口.SQL Map xml等. 使用方式 MB ...

  4. TestFlight无法访问怎么办?TF如何链接AppStoreConnect解决教程

    最近苹果商店半天下架近3万款应用的新闻闹的沸沸扬扬,很多被下架应用的运营商转将APP上架了TestFlight内测商店(TF签名上架),但是从7月31日起很多用户就开始反映TestFlight内测应用 ...

  5. Android Studio--家庭记账本(五)

    想到每次删除之后将表单自动初始化,却发现会导致除去已经删除的不在出现在表单上,数据库中剩余的数据还会再次出现在表单中.导致表单上的数据越来越多.后来又想到,当我实现删除之后,把表单采用全部清除,再重新 ...

  6. 【项目实战】sass使用基础篇(上)

    Sass是一种CSS预处理语言.CSS预处理语言是一种新的专门的编程语言,编译后形成正常的css文件,为css增加一些编程特性,无需考虑浏览器的兼容性(完全兼容css3),让css更加简洁.适应性更强 ...

  7. 曲线生成与求交—Bezier曲线

    Bezier曲线生成 法国工程师Pierre Bezier在雷诺公司使用该方法来设计汽车.一条Bezier曲线可以拟合任何数目的控制点. 公式 设\(n+1\)个控制点\(P_0,P_1--P_n\) ...

  8. 智能问答中的NLU意图识别流程梳理

    NLU意图识别的流程说明 基于智能问答的业务流程,所谓的NLU意图识别就是针对已知的训练语料(如语料格式为\((x,y)\)格式的元组列表,其中\(x\)为训练语料,\(y\)为期望输出类别或者称为意 ...

  9. 洛谷P1048 采药 二维dp化一维

    题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个 ...

  10. 2020-08-01:MySQL 的数据如何恢复到任意时间点?

    福哥答案2020-08-01: 恢复到任意时间点以定时的做全量备份,以及备份增量的 binlog 日志为前提.恢复到任意时间点首先将全量备份恢复之后,再此基础上回放增加的 binlog 直至指定的时间 ...