UI自动化之cookies登录

现在有很多网站有验证码,跳过验证码实现登录可以使用cookies登录

目录

1、webdriver的添加cookies的方法

2、举个栗子

 

1、webdriver的添加cookies的方法

webdriver.add_cookie()  #用add_cookies方法添加需要的cookies信息

一般情况下,填写name和values值就可以,格式如下:

c1={u'name':‘XX’,
    u'value':XX} 
如果仅填写name和value登录不了,则可以继续添加其他的
 c1 = {u'domain': u'XX',
       u'name': u'XX',
       u'value': u'XX',
       u'expiry': 1533197286, #时间戳
       u'path': u'/',
       u'httpOnly': True,    #防脚本攻击
       u'secure': True}     在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时,浏览器才向服务器提交相应的Cookie。当前这种协议只有一种,即为HTTPS

  

2、举个栗子

第一步:访问需要登录后才能访问的页面

driver=webdriver.Firefox()
driver.get("https://www.eolinker.com/#/home/project/api/")   #需要登录后才能访问的一个接口  

第二步:使用fiddler抓取登录后的cookies

登录前:

登录后:

 

第三步:添加cookies

c1={u'name': u'userToken',
    u'value':u'%242y%2410%24peAtYKJZVoYsbnWyksn3Nep2q5KS5LpJdJWZ7cq3s3TFH83A5yxz2'}
c2={u'name': u'verifyCode',
    u'value': u'4dacda8241457041ad4846ac23b8b023'}

driver.add_cookie(c1)
driver.add_cookie(c2)    

 第四步:刷新页面,看到的就是登录后的页面

time.sleep(3)
driver.refresh()

  代码如下:

# coding:utf-8

from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("https://www.eolinker.com/#/home/project/api/")   #需要登录后才能访问的一个接口
# 第一步:一般的用name和value就够了
c1={u'name': u'userToken',
    u'value': u'%242y%2410%24peAtYKJZVoYsbnWyksn3Nep2q5KS5LpJdJWZ7cq3s3TFH83A5yxz2'}
c2={u'name': u'verifyCode',
    u'value': u'4dacda8241457041ad4846ac23b8b023'}




driver.add_cookie(c1)
driver.add_cookie(c2)

time.sleep(3)
driver.refresh()   #刷新页面,这时候看到的就是登录后看到的页面
time.sleep(3)
driver.close()

  

 

猜你喜欢

转载自www.cnblogs.com/weizhideweilai/p/9432772.html
今日推荐