3个必备cookie实用方法

今天跟大家介绍一下三种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使用方法,以上内容希望对你有帮助,有被帮助到的朋友欢迎点赞,评论。

posted on 2020-05-18 14:56  茶浅教你Python  阅读(2787)  评论(0编辑  收藏  举报