首页 > 其他 > 详细

selenium---cookie处理

时间:2020-09-16 21:22:10      阅读:53      评论:0      收藏:0      [点我收藏+]

  在做web测试过程中,常常会遇到登录过程中需要滑动来进行登录,通常滑动处理起来比较麻烦,那么我们可以通过跳过这个滑动,简单方法,让开发在测试版本中屏蔽滑动模块,如果开发不愿意屏蔽的时候,我们应该怎么操作呢?前面介绍接口测试的时候,提到过,我们可以通过cookies来进行模拟登陆,跳过登陆验证,那么在做web自动化的时候能否也通过cookies来跳过登陆呢?

cookies

Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),一般存放在客户端上。

cookie我们用的最多的也就是登陆了,作为用户的唯一标识,我们可以通过cookie进行绕过输入验证码的环节,就是通过selenium进行操作cookie,那么selenium对于cookie又那些操作呢?

绕过登陆

通过cookie绕过登陆,肯定先获取登陆cookie,老规矩打开百度,登陆按钮,查看cookie内容,选取适合的cookie

技术分享图片

 

 

获取到对应的cookie,这里安静介绍下如何书写cookie,cookie是成键值对显示的,也就是类似于字典的内容,

cookie1 = {
    "domain":"xxxx",    # 服务器地址
    "name":"xxxx",    # cookie名字
    "value":"xxxxx"    # cookie值
}

通过上面找到需要的cookie值,然后通过上面的模式进行填写,然后通过 add_cookie() 进行添加cookie

# coding:utf-8
from selenium import webdriver
import time
driver = webdriver.Chrome()

driver.get(https://www.baidu.com/)

cookie1 = {
    "domain":".baidu.com",
    "name":"BAIDUID",
    "value":"xxxxx"
}

cookie2 = {
    "domain":".baidu.com",
    "name":"BDUSS",
    "value":"xxxxx"

}
driver.add_cookie(cookie_dict=cookie1)
driver.add_cookie(cookie2)
time.sleep(3)
# 页面刷新
driver.refresh()

text = driver.find_element_by_xpath("//*[@class=‘user-name c-font-normal c-color-t‘]").text
print(text)
if text==我在谁身旁:
    print(登录成功)
else:
    print(登录失败)

结果就不用给大家列了,很显然是成功的

其他cookie操作

有小伙伴们问,selenium操作cookie就只有这一种吗?那肯定不是的,安静继续拿着百度案例为大家解释,继续上述步骤,通过 get_cookies() 获取全部cookie,也可以通过 get_cookie() 获取指定cookie,当然也可以通过 delete_cookie(name,optionsString)  进行删除cookie

# coding:utf-8
from selenium import webdriver
import time
driver = webdriver.Chrome()

driver.get(https://www.baidu.com/)

cookie1 = {
    "domain":".baidu.com",
    "name":"BAIDUID",
    "value":"xxxxx"
}

cookie2 = {
    "domain":".baidu.com",
    "name":"BDUSS",
    "value":"xxxxx"

}
driver.add_cookie(cookie_dict=cookie1)
driver.add_cookie(cookie2)

time.sleep(3)
# 页面刷新
driver.refresh()
# 获取全部cookies
cookie_all = driver.get_cookies()
print(cookie_all)
# 获取单个cookie
bduss_cookie = driver.get_cookie(BDUSS)
print(bduss_cookie)

展示下打印的cookie值

技术分享图片

 

删除的cookie安静这里没有做演示,大家可以进行练练手,熟能生巧。

 

如果感觉安静写的对您有帮助,可以点个关注,持续更新中。不懂的或者有问题的可以下方留言。

 

selenium---cookie处理

原文:https://www.cnblogs.com/qican/p/13675158.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!